TWiki

Changes Index Search

Webs Book Compare GPCE06 Gmt Gpce Gpce04 Gpce05 IFIPWG211 IPA06 Main Octave PEPM07 PEPM08 PHP Sandbox Sdf Stratego Sts TWiki Tiger Tools Transform Variability default porn free porn

Searched: \.*
Results from TWiki web
This is a short introduction training course for TWiki beginners (newbies).

%SLIDESHOWSTART{template="ATasteOfTWikiTemplate"}%

A Taste of TWiki

The basic function of TWiki is a Wiki (if that helps!)

A Wiki is like a normal web site, except that you can edit the content in your browser

  • "Wiki" is short for "wiki wiki", the Hawaiian for "Quick"
  • The idea originates from Macintosh Hypercard, via Ward Cunningham
  • In Ward's words, Wiki is "the simplest online database that could possibly work"
  • A Wiki is basically a shared, online, persistant whiteboard

TWiki Wiki

TWiki implements the basic Wiki idea of a shared whiteboard
  • Anyone can add content
    ... or change what is written
    ... or change the organisation of the content
  • Whatever what you write is
    ... nicely presented
    ... remembered... and never forgotten
TWiki also acts as an "application platform" to integrate a number of other functions.

TWiki is an Open-Source development on TWiki.org

Where is it used?

TWiki Features

TWiki builds on the original Wiki concept and adds a number of features that make it very useful in a business environment.
  • TWiki pages are fully revision controlled, so a record of every change to every page is kept
    r1.6 > r1.5 > r1.4
  • The look-and-feel is highly configurable, through use of templates
  • A "plugins" interface eases
    • customisation
    • extension
    • application integration

Applications of basic TWiki

Basic TWiki can be used as:
  • A whiteboard
  • A document repository
  • A collaborative authoring environment
  • A notebook / scrapbook
  • A chat room

Extended applications

TWiki-with-extensions has been used as:
  • A Content Management System (CMS) for websites
  • A presentation development tool
  • A Blog
  • A database
  • A project management system
  • A tracking tool
  • (truth is, we don't really know its limits!)

Structure of a TWiki page

TWiki pages are usually organised into three parts:
  • A header
  • A body
  • A footer

  • The header and the footer are generated by the system
  • The body contains the text of the page, as entered by you
TWiki is very configurable, and the look can change. However the essentials will all be there on the page (somewhere!)

The Page Header

The header of a TWiki page is generally highlighted in colour, and will usually contain an icon that gives you an idea of where you are, such as a company logo.
TWiki home MyCo.MyTopic Webs:
Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
It will also usually contain a number of 'links' that you can click on. You will generally see:
  • Changes - gives you a list of recent changes
  • Index - gives you a full index
  • Search - takes you to a search page, where you can search all the text
  • Go - lets you type in the name of a page you already know

The Page Header

TWiki home MyCo.MyTopic Webs:
Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
You may also see in the header (usually at the top right) a list of the TWiki "webs". A web is a collection of pages that are related closely together
  • For example, we might have a web called "Enemies", where we keep all we know about our enemies, and another called "Friends"
  • There's usually a safe play web called something like "Sandbox" or "Scratch", where you can create pages just to try things out
  • And some admin areas, like "Main" and "TWiki"

The Page Footer

The footer of the page is also highlighted in colour, and is usually where you will find the links that let you change the content.
Edit | Attach | Diffs | r1.2 > r1.1 | More
Revision r1.2 - 13 Feb 2004 - 09:09 GMT - TWikiPresenter Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
  • The Edit link takes you to an interactive page where you can change the page content
  • The Attach link lets you attach files
  • The other links invoke other, more complex, functions, mainly to do with revision tracking - they can safely be ignored for now

Editing Pages

  • You've read a page, and you disagree with it violently! It says:
    Everyone knows that the world is an OblateSpheroid
    But you know for a fact it is flat! ;-)
  • You've clicked the edit link, and an edit page has appeared. But it doesn't look much like what was on the page before - it's full of strange hieroglyphics!
_Everyone_ *knows* that =the world= is an OblateSpheroid
  • Now what?

What's in a page

  • The hieroglyphics are what's known as "TWiki Markup" or "formatting"
  • They are a really simple way of telling the browser how you want the page to look
  • You don't have to use them
    • TWiki understands pages in plain text just fine.

      Actually it is perfectly and absolutely flat

      appears as

      Actually it is perfectly and absolutely flat

Formatting just makes pages prettier

... and easier to read

_Actually_ it is *perfectly* and __absolutely__ flat

appears as

Actually it is perfectly and absolutely flat
  • A full description of all the formatting can be found in the TextFormattingRules and TextFormattingFAQ
  • The best thing to do is just to type until you get stuck
    • then follow the link on the edit page to the help.

Commonly used formatting

TWiki understands pages in plain text just fine, but you can jazz them up using some simple formatting shortcuts. Here are some of the more commonly used ones:
  • ---+ indicates a heading. Add more +'s for a deeper heading.
    You type You see
    ---+ This is a heading

    This is a heading

    ---++ And so is this

    And so is this

  • %TOC% will insert a table of contents

More common formatting

  • A blank line gives a paragraph break
  • --- on a line of its own gives a horizontal bar
  • Text in stars *like this* looks like this
  • Text in underscores _like this_ looks like this
  • Text in equals signs =like this= looks like this
  • Bulleted lists use three spaces followed by an asterisk (*) at the start of the line
    • The depth of the bullet is given by the number of spaces, in multiples of three
You type You see
   * Bullet
      * Sub-bullet
  • Bullet
    • Sub-bullet
  • Numbered lists use a number in place of the *. The list is numbered automatically, so you can just use a 1

Even more.....

  • You can create a table using vertical bars:
     | Cat | Feline |
     | Bear | Ursine |
     | Wolf | Vulpine |
  • appears as
    Cat Feline
    Bear Ursine
    Wolf Vulpine
  • %RED% .... %ENDCOLOR% will change the colour of the enclosed text. Lots of colours are available (%RED%, %GREEN%, %BLUE% etc)

WikiWords

  • One special hieroglyph that is very important is a BumpyWord
    • a word that starts with uppercase, then some lowercase, then more uppercase (a.k.a CamelCase)
  • This has a special meaning to TWiki; if it matches the name of another topic, TWiki will automatically create a link to that page for you.
  • If there is no such page, then the word is highlighted and a question mark is put after the word, LikeThis?
  • If you click on the question mark, then TWiki will invite you to create that page.

  • This lets you enter the names of topics you think should exist, but don't yet
    • You, or someone else, can always come along later and click on the question mark!

Referencing other pages and URLs

  • BumpyWords automatically link to the target page
    • You can make these links easier to read using square brackets:
  • An ordinary URL pasted into text will appear as a link - http://www.google.com
    • You can also prettify URLs using square brackets:
      • [[http://www..google.com][google]] appears as google
  • Use %SEARCH. This is an interface to a sophisticated search engine that embeds the results of the search in your page. See TWikiVariables for full details.

More formatting

  • There's lots more formatting available, see TextFormattingRules and TextFormattingFAQ
  • If you are a real masochist, you can even enter raw HTML tags!
  • Important to disable unwanted formatting, use <nop>
    • <nop>_word_ appears as _word_

Creating new pages

  • Alternative ways:
    • Click on the question mark after a BumpyWord
    • Type in the name of the topic in the "Go:" box
    • Type in the name of the topic in the URL
  • Any time you try to visit a page that doesn't exist, TWiki will invite you to create it.
  • Make sure the names of topics are always BumpyWords.

Attachments

  • Attachments are files which have been uploaded and attached to a TWiki page using the 'Attach' function in the footer.
Attachment sort Action Size Date Who Comment
myco.gif manage 9.6 K 13 Feb 2004 - 18:41 MushroomMagicMan Attached image file
  • Attachments are simply files, in whatever format you want.
  • TWiki recognises some file formats, notably image files (.gif)
    • Write %ATTACHURL%/myco.gif to see this: /pub/TWiki/ATasteOfTWiki/myco.gif

Wiki Culture

Enough about mechanics; how is a wiki actually used ? Well, that's really up to you, but there are a number of tricks that the wiki community has developed for collaborative writing that work pretty well:
  • What can I edit?
    • Anything. But it's good etiquette to sign your contributions
    • If someone doesn't want you to edit a page, it's up to them to say so, clearly, on the page
  • But what if somebody doesn't like my edits?
    • In TWiki, they can always recover the old revision and re-instantiate it if they really want to
    • Otherwise they should regard your changes as an opportunity for discussion
  • Pages in wiki are (usually) in one of three "modes"
    • DocumentMode
    • ThreadMode
    • StructuredMode
TWiki doesn't automatically distinguish between these modes; they are purely semantic.

DocumentMode

  • A page in DocumentMode usually comprises a contribution which is written in the third person and left unsigned.
  • The piece of text is community property
    • It may have multiple and changing authors as it is updated to reflect the community consensus.

ThreadMode

  • Thread mode is a form of discussion where the community holds a conversation
  • The discussion usually starts out with a statement, at the top of the page, that is subsequently discussed
  • The page may be periodically "refactored" (edited) to remove some of the comments
    • As long as the comment is accurately reflected in what replaces it, nobody usually minds.
    • Remember to always maintain a complete list of contributors, though!
You may see a comment box on a page in ThreadMode that makes it easy to quickly add your inputs. Typing in a comment and adding it to a page this way is known as "blogging" ;-)
  • ThreadMode is rather like an e-mail thread
    • Except that new comments are usually added to the end
  • ThreadMode pages often get refactored into DocumentMode

StructuredMode

  • A page in StructuredMode follows some predefined structure for example
    • An agenda
    • A set of meeting minutes
    • A requirement description.
  • Pages in StructuredMode will usually have rules governing how they are edited.

Other Wiki tricks - Categories

  • A Wiki trick for grouping pages together
  • Example: to group together a set of pages all relating to the weather:
    1. Create a page called 'CategoryWeather'
    2. Put a SEARCH that contain the word 'CategoryWeather' into it
      • %SEARCH{"CategoryWeather" nosearch="on" nosummary="on"}%
    3. Put the BumpyWord 'CategoryWeather' on all the pages relating to the weather
      (usually at the bottom, below a horizontal bar)

Contributed features

Basic TWiki is rich with features, but is enriched even further by the addition of optional plug-in modules that may (or may not!) be installed in your TWiki. These are classified as either skins (modules that change the look-and-feel) and plugins (modules that enhance functionality).

Here's a brief description of some of the more common plugins, together with the tags you might expect to see in topics if they are used. You can find out more by visiting the plugin pages.

  • ActionTrackerPlugin: Support action tags in topics, with automatic notification of action statii %ACTION...
  • CalendarPlugin: Show a monthly calendar with highlighted events %CALENDAR...%
  • CommentPlugin: Support rapid entry of short comments (also known as blogging) %COMMENT...
  • ChartPlugin: Create PNG or GIF charts to visualize data in TWiki tables %CHART...
  • EditTablePlugin: Edit TWiki tables using edit fields and drop down boxes %EDITTABLE...
  • InterwikiPlugin: Define shortcuts for links to common external sites

More plugins

  • RenderListPlugin: Render bullet lists in a variety of formats %RENDERLIST...
  • SlideShowPlugin: Create web based presentations based on topics with headings %SLIDESHOWSTART...
  • SpreadSheetPlugin: Add spreadsheet calculations like "$SUM( $ABOVE() )" to tables located in TWiki topics %CALC...
  • TablePlugin: Control presentation and sorting of tables %TABLE...
  • TWikiDrawPlugin: Add quick sketches to pages %DRAWING...
The following plugins are installed on this TWiki: DefaultPlugin, EditTablePlugin, InterwikiPlugin, RenderListPlugin, SpreadSheetPlugin, TablePlugin

There are many other plugins, see http://www.twiki.org/cgi-bin/view/Plugins

Credits and Acknowledgements

%SLIDESHOWEND%

Related topics: WelcomeGuest, TWikiTutorial, ATasteOfTWikiTemplate

-- TWiki:Main.CrawfordCurrie - 17 Feb 2004

Slide template for ATasteOfTWiki presentation

%SLIDETITLE%

%SLIDETEXT%
%SLIDENAVFIRST% %SLIDENAVPREV% Slide %SLIDENUM% of %SLIDEMAX% %SLIDENAVNEXT% %SLIDENAVLAST%
Copyright © 2020 by the contributing authors

-- TWiki:Main.CrawfordCurrie - 18 Feb 2004

Access Keys

What are access keys?

Access keys are keyboard shortcuts which allow the user to navigate around a website or a piece of computer software without having to use a mouse or other pointing device.

What are the advantages of using access keys?

Its an alternative to using a mouse, or other pointing device, and can sometimes be quicker than using a mouse.

How do I use access keys?

This depends on the browser you are using (see also cross-browser support below):

  • If you use Internet Explorer
    • Press and hold the 'Alt' key
    • Press the required letter
    • Release the keys and press the 'ENTER' key

  • If you use Netscape Navigator, Mozilla, or Firefox
    • Press and hold the 'Alt' key
    • Press the required letter

  • If you are using a Mac
    • Press and hold the 'Ctrl' key
    • Press the required letter

Learn more

Administrator Skills Assumptions

For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from hours to days) learning these.

  • Operating system administration: Ability to use Unix/Linux command line tools (or equivalent Windows tools), including ability to move/copy/delete files, change permissions, view web server log files, set environment variables, use a text editor, etc.
  • Web server administration: Ability to do basic setup, e.g. ability to edit config files or use GUI configuration tools to enable CGI scripts on a directory.
  • Program compilation: Where RCS is not pre-installed (that is most Unix systems), the ability to download and compile the RCS program from source, including use of configure, make, etc. This is often not necessary on Linux or Windows.
  • Troubleshooting: Ability to perform tests, inspect error logs, talk to technical support (whether in an IT department or web hosting provider) and read documentation in order to help with diagnosing installation problems.

Installing TWiki is not recommended for people who only know HTML and web design, unless they are willing to learn the above, or team up with someone who can handle the installation.

Although the TWikiInstallationGuide is quite complete, there will on occasion be parts that don't work in your local environment (particularly with TWiki:Codev/TWikiOnWebHostingSites, which are sometimes challenging even for those with good OS and web server skills).

There are many excellent resources for learning how to administer your OS and web server, including books, web sites, web forums, IM and email lists. The TWiki:Support web must not be depended on as a resource for this purpose - in other words, it is not there to answer basic questions about operating system and web server administration. Asking and answering questions is time consuming for all concerned and is best used for specific TWiki related issues, rather than helping you learn the OS and web server.

One of the best training courses for Linux is Basic Linux Training at http://basiclinux.net/ - this is a 2 month distance-learning course (via email). The course operators are friendly, and all students are newbies. A nice tool for people migrating from Windows is http://www.MidnightCommander.org/. It is already installed on Linux systems: try mc -ac and ESC 1 to get help.

-- TWiki:Main.RichardDonkin - 27 Apr 2002
-- TWiki:Main.GrantBow - 15 Jan 2003
-- TWiki:Main.PeterMasiar - 28 May 2003

Admin tools

Manage whole TWiki site from one screen.

Web Tools Use to...
BX12 Home of BX12 web Search BX12 web Recent changes in the BX12 web Get notified of changes to the BX12 web Preferences of BX12 web Statistics of BX12 web Bullet list of all topics? Index of all topics
Book Home of Book web Search Book web Recent changes in the Book web Get notified of changes to the Book web Preferences of Book web Statistics of Book web Bullet list of all topics? Index of all topics
CC? Home of CC web? Search CC web Recent changes in the CC web Get notified of changes to the CC web Preferences of CC web Statistics of CC web Bullet list of all topics Index of all topics
Compare Home of Compare web Search Compare web Recent changes in the Compare web Get notified of changes to the Compare web Preferences of Compare web Statistics of Compare web Bullet list of all topics Index of all topics
GPCE06 Home of GPCE06 web Search GPCE06 web Recent changes in the GPCE06 web Get notified of changes to the GPCE06 web Preferences of GPCE06 web Statistics of GPCE06 web Bullet list of all topics? Index of all topics
GPCE08 Home of GPCE08 web Search GPCE08 web Recent changes in the GPCE08 web Get notified of changes to the GPCE08 web Preferences of GPCE08 web Statistics of GPCE08 web Bullet list of all topics? Index of all topics
GPCE09 Home of GPCE09 web Search GPCE09 web Recent changes in the GPCE09 web Get notified of changes to the GPCE09 web Preferences of GPCE09 web Statistics of GPCE09 web Bullet list of all topics? Index of all topics
GPCE10 Home of GPCE10 web Search GPCE10 web Recent changes in the GPCE10 web Get notified of changes to the GPCE10 web Preferences of GPCE10 web Statistics of GPCE10 web Bullet list of all topics? Index of all topics
GPCE11 Home of GPCE11 web Search GPCE11 web Recent changes in the GPCE11 web Get notified of changes to the GPCE11 web Preferences of GPCE11 web Statistics of GPCE11 web Bullet list of all topics? Index of all topics
GPCE12 Home of GPCE12 web Search GPCE12 web Recent changes in the GPCE12 web Get notified of changes to the GPCE12 web Preferences of GPCE12 web Statistics of GPCE12 web Bullet list of all topics? Index of all topics
GPCE13 Home of GPCE13 web Search GPCE13 web Recent changes in the GPCE13 web Get notified of changes to the GPCE13 web Preferences of GPCE13 web Statistics of GPCE13 web Bullet list of all topics? Index of all topics
GPCE14 Home of GPCE14 web Search GPCE14 web Recent changes in the GPCE14 web Get notified of changes to the GPCE14 web Preferences of GPCE14 web Statistics of GPCE14 web Bullet list of all topics? Index of all topics
Gmt Home of Gmt web Search Gmt web Recent changes in the Gmt web Get notified of changes to the Gmt web Preferences of Gmt web Statistics of Gmt web Bullet list of all topics? Index of all topics
Gpce Home of Gpce web Search Gpce web Recent changes in the Gpce web Get notified of changes to the Gpce web Preferences of Gpce web Statistics of Gpce web Bullet list of all topics Index of all topics
Gpce03 Home of Gpce03 web Search Gpce03 web Recent changes in the Gpce03 web Get notified of changes to the Gpce03 web Preferences of Gpce03 web Statistics of Gpce03 web Bullet list of all topics Index of all topics
Gpce04 Home of Gpce04 web Search Gpce04 web Recent changes in the Gpce04 web Get notified of changes to the Gpce04 web Preferences of Gpce04 web Statistics of Gpce04 web Bullet list of all topics? Index of all topics
Gpce05 Home of Gpce05 web Search Gpce05 web Recent changes in the Gpce05 web Get notified of changes to the Gpce05 web Preferences of Gpce05 web Statistics of Gpce05 web Bullet list of all topics? Index of all topics
Gpceorg Home of Gpceorg web Search Gpceorg web Recent changes in the Gpceorg web Get notified of changes to the Gpceorg web Preferences of Gpceorg web Statistics of Gpceorg web Bullet list of all topics? Index of all topics
HART14 Home of HART14 web Search HART14 web Recent changes in the HART14 web Get notified of changes to the HART14 web Preferences of HART14 web Statistics of HART14 web Bullet list of all topics? Index of all topics
IPA06 Home of IPA06 web Search IPA06 web Recent changes in the IPA06 web Get notified of changes to the IPA06 web Preferences of IPA06 web Statistics of IPA06 web Bullet list of all topics Index of all topics
Main Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web Preferences of Main web Statistics of Main web Bullet list of all topics Index of all topics ...
Octave Home of Octave web Search Octave web Recent changes in the Octave web Get notified of changes to the Octave web Preferences of Octave web Statistics of Octave web Bullet list of all topics? Index of all topics ...
PEPM07 Home of PEPM07 web Search PEPM07 web Recent changes in the PEPM07 web Get notified of changes to the PEPM07 web Preferences of PEPM07 web Statistics of PEPM07 web Bullet list of all topics? Index of all topics
PEPM08 Home of PEPM08 web Search PEPM08 web Recent changes in the PEPM08 web Get notified of changes to the PEPM08 web Preferences of PEPM08 web Statistics of PEPM08 web Bullet list of all topics? Index of all topics
PEPM10 Home of PEPM10 web Search PEPM10 web Recent changes in the PEPM10 web Get notified of changes to the PEPM10 web Preferences of PEPM10 web Statistics of PEPM10 web Bullet list of all topics? Index of all topics
PEPM11 Home of PEPM11 web Search PEPM11 web Recent changes in the PEPM11 web Get notified of changes to the PEPM11 web Preferences of PEPM11 web Statistics of PEPM11 web Bullet list of all topics? Index of all topics
PEPM12 Home of PEPM12 web Search PEPM12 web Recent changes in the PEPM12 web Get notified of changes to the PEPM12 web Preferences of PEPM12 web Statistics of PEPM12 web Bullet list of all topics? Index of all topics
PEPM13 Home of PEPM13 web Search PEPM13 web Recent changes in the PEPM13 web Get notified of changes to the PEPM13 web Preferences of PEPM13 web Statistics of PEPM13 web Bullet list of all topics? Index of all topics
PEPM14 Home of PEPM14 web Search PEPM14 web Recent changes in the PEPM14 web Get notified of changes to the PEPM14 web Preferences of PEPM14 web Statistics of PEPM14 web Bullet list of all topics? Index of all topics
PHP Home of PHP web Search PHP web Recent changes in the PHP web Get notified of changes to the PHP web Preferences of PHP web Statistics of PHP web Bullet list of all topics Index of all topics
Sandbox Home of Sandbox web Search Sandbox web Recent changes in the Sandbox web Get notified of changes to the Sandbox web Preferences of Sandbox web Statistics of Sandbox web Bullet list of all topics Index of all topics ...experiment in an unrestricted hands-on web.
Sdf Home of Sdf web Search Sdf web Recent changes in the Sdf web Get notified of changes to the Sdf web Preferences of Sdf web Statistics of Sdf web Bullet list of all topics? Index of all topics ...
SdfBackup Home of SdfBackup web Search SdfBackup web Recent changes in the SdfBackup web Get notified of changes to the SdfBackup web Preferences of SdfBackup web Statistics of SdfBackup web Bullet list of all topics? Index of all topics ...
Spoofax Home of Spoofax web Search Spoofax web Recent changes in the Spoofax web Get notified of changes to the Spoofax web Preferences of Spoofax web Statistics of Spoofax web Bullet list of all topics Index of all topics
Stratego Home of Stratego web Search Stratego web Recent changes in the Stratego web Get notified of changes to the Stratego web Preferences of Stratego web Statistics of Stratego web Bullet list of all topics? Index of all topics ...
Sts Home of Sts web Search Sts web Recent changes in the Sts web Get notified of changes to the Sts web Preferences of Sts web Statistics of Sts web Bullet list of all topics? Index of all topics
TWiki Home of TWiki web Search TWiki web Recent changes in the TWiki web Get notified of changes to the TWiki web Preferences of TWiki web Statistics of TWiki web Bullet list of all topics Index of all topics ...discover TWiki details, and how to start your own site.
Tiger Home of Tiger web Search Tiger web Recent changes in the Tiger web Get notified of changes to the Tiger web Preferences of Tiger web Statistics of Tiger web Bullet list of all topics? Index of all topics ...
Tools Home of Tools web Search Tools web Recent changes in the Tools web Get notified of changes to the Tools web Preferences of Tools web Statistics of Tools web Bullet list of all topics? Index of all topics ...
Transform Home of Transform web Search Transform web Recent changes in the Transform web Get notified of changes to the Transform web Preferences of Transform web Statistics of Transform web Bullet list of all topics? Index of all topics ...
Variability Home of Variability web Search Variability web Recent changes in the Variability web Get notified of changes to the Variability web Preferences of Variability web Statistics of Variability web Bullet list of all topics? Index of all topics
WGLD Home of WGLD web Search WGLD web Recent changes in the WGLD web Get notified of changes to the WGLD web Preferences of WGLD web Statistics of WGLD web Bullet list of all topics Index of all topics
WebDSL Home of WebDSL web Search WebDSL web Recent changes in the WebDSL web Get notified of changes to the WebDSL web Preferences of WebDSL web Statistics of WebDSL web Bullet list of all topics? Index of all topics
default Home of default web Search default web? Recent changes in the default web? Get notified of changes to the default web? Preferences of default web? Statistics of default web? Bullet list of all topics? Index of all topics?
This table is updated automatically based on WebPreferences settings of the individual webs.
Legend:   Home of web WebHome Search web WebSearch Recent changes in the web WebChanges Get notified of changes to the web WebNotify
    Preferences of web WebPreferences Statistics of web WebStatistics Bullet list of all topics WebTopicList Index of all topics WebIndex

Plugins: TWikiPlugins, TWikiFuncModule

  • DefaultPlugin: This plugin can be used to specify some simple custom rendering rules. It also renders depreciated *_text_* as bold italic text.
  • EditTablePlugin: Edit TWiki tables using edit fields, date pickers and drop down boxes
  • InterwikiPlugin: Link ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic
  • RenderListPlugin: Render bullet lists in a variety of formats
  • SpreadSheetPlugin: Add spreadsheet calculation like "$SUM( $ABOVE() )" to tables located in TWiki topics.
  • TablePlugin: Control attributes of tables and sorting of table columns

Versions:

  • TWiki engine: 04 Sep 2004 $Rev: 1742 $
  • Plugin API: 1.025

-- TWiki:Main.PeterMasiar - 02 Jul 2003
-- TWiki:Main.PeterThoeny - 15 Aug 2004

Appendix C: Encode URLs With UTF8

This page addresses implemented UTF-8 support for URLs only. The overall plan for UTF-8 support for TWiki is described in TWiki:Codev.ProposedUTF8SupportForI18N .

Current Status

To simplify use of internationalised characters within WikiWords and attachment names, TWiki now supports UTF-8 URLs, converting on-the-fly to virtually any character set, including ISO-8859-*, KOI8-R, EUC-JP, and so on.

Support for UTF-8 URL encoding avoids having to configure the browser to turn off this encoding in URLs (the default in Internet Explorer, Opera Browser and some Mozilla Browser URLs) and enables support of browsers where only this mode is supported (e.g. Opera Browser for Symbian smartphones). A non-UTF-8 site character set (e.g. ISO-8859-*) is still used within TWiki, and in fact pages are stored and viewed entirely in the site character set - the browser dynamically converts URLs from the site character set into UTF-8, and TWiki converts them back again.

System requirements are updated as follows:

  • ASCII or ISO-8859-1-only sites do not require any additional CPAN modules to be installed.
  • Perl 5.8 sites using any character set do not require additional modules, since CPAN:Encode is installed as part of Perl.
  • This feature still works on Perl 5.005_03 as per TWikiSystemRequirements, or Perl 5.6, as long as CPAN:Unicode::MapUTF8 is installed.

ISO-2022-*, HZ-* and other 'non-ASCII-safe' multi-byte character sets are now specifically excluded from use as the site character set, since they interfere with TWiki ML; however, many multi-byte character sets work fine, e.g. EUC-JP, GB2312, etc.

It's now possible to override the site character set defined in the $siteLocale setting in TWiki.cfg - this enables you to have a slightly different spelling of the character set in the server locale (e.g. 'eucjp') and the HTTP header sent to the browser (e.g. 'euc-jp').

This feature should also support use of Mozilla Browser with TWiki:Codev.TWikiOnMainframe (as long as mainframe web server can convert or pass through UTF-8 URLs) - however, this specific combination is not tested. Other browser-server combinations should not have any problems.

Please note that use of UTF-8 as the site character set is not yet supported - see Phase 2 of TWiki:Codev.ProposedUTF8SupportForI18N for plans and work to date in this area.

This feature is complete in TWiki releases newer than February 2004.

Note for skin developers: %INTURLENCODE% is no longer required (TWiki:Plugins.InternationalisingYourSkin).

Details of Implementation

URLs are not allowed to contain non-ASCII (8th bit set) characters: http://www.w3.org/TR/html4/appendix/notes.html#non-ascii-chars

The overall plan for UTF-8 support for TWiki is described in two phases in TWiki:/Codev.ProposedUTF8SupportForI18N - this page addresses the first phase, in which UTF-8 is supported for URLs only.

UTF-8 URL translation to virtually any character set is supported as of TWiki Release 01 Sep 2004, but full UTF-8 support (e.g. pages in UTF-8) is not supported yet - this will be phase 2.

The code automatically detects whether a URL is UTF-8 or not, taking care to avoid over-long and illegal UTF-8 encodings that could introduce TWiki:Codev.MajorSecurityProblemWithIncludeFileProcessing (tested against a comprehensive UTF-8 test file, which IE 5.5 fails quite dangerously, and Opera Browser passes). Any non-ASCII URLs that are not valid UTF-8 are then assumed to be directly URL-encoded as a single-byte or multi-byte character set (as now), e.g. EUC-JP.

The main point is that you can use TWiki with international characters in WikiWords without changing your browser setup from the default, and you can also still use TWiki using non-UTF-8 URLs. This works on any Perl version from 5.005_03 onwards and corresponds to Phase 1 of TWiki:Codev.ProposedUTF8SupportForI18N. You can have different users using different URL formats transparently on the same server.

UTF-8 URLs are automatically converted to the current $siteCharset (from the TWiki.cfg locale setting), using modules such as CPAN:Encode if needed.

TWiki generates the whole page in the site charset, e.g. ISO-8859-1 or EUC-JP, but the browser dynamically UTF-8 encodes the attachment's URL when it's used. Since Apache serves attachment downloads without TWiki being involved, TWiki's code can't do its UTF-8 decoding trick, so TWiki URL-encodes such URLs in ISO-8859-1 or whatever when generating the page, to bypass this URL encoding, ensuring that the URLs and filenames seen by Apache remain in the site charset.

TWiki:Codev.TWikiOnMainframe uses EBCDIC web servers that typically translate their output to ASCII, UTF-8 or ISO-8859-1 (and URLs in the other direction) since there are so few EBCDIC web browsers. Such web servers don't work with even ISO-8859-1 URLs if they are URL encoded, since the automated translation is bypassed for URL-encoded characters. For TWiki on Mainframe, TWiki assumes that the web server will automatically translate UTF-8 URLs into EBCDIC URLs, as long as URL encoding is turned off in TWiki pages.

Testing and Limitation

It should work with TWiki:Codev.TWikiOnMainframe. Tested with IE 5.5, Opera 7.11 and Mozilla (Firebird 0.7).

Opera Browser on the P800 smartphone is working for page viewing but leads to corrupt page names when editing pages.

For up to date information see TWiki:Codev.EncodeURLsWithUTF8

-- TWiki:Main.RichardDonkin - 7 Jan 2004
-- TWiki:Main.MattWilkie - 10 Aug 2004
-- TWiki:Main.PeterThoeny - 14 Aug 2004

Appendix A: TWiki Filesystem

Annotated directory and file listings, for the 01-Sep-2004 TWiki production release.

Who and What is This Good For?

Interested Users and Site Administrators can find out in simple terms what each part of TWiki actually does. Adventurous Adminstrators with server access to files (via telnet, ssh or ftp) can also figure out where to look to make minor modifications, like changing hardcode text or color. Software Developers can get an at-a-glance overview of TWiki code architecture.

Directory Structure

You can rename the root TWiki directory - twiki - to whatever you like by changing it in the TWiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the five main subdirectories intact:

Directory: Files: Used for:
twiki list Start-up info
twiki/bin list Perl scripts
twiki/lib list Configuration file, main library, Perl system modules, Plugins directory
twiki/pub list Public files (eg: images) and FileAttachments and their RCS histories
twiki/data list Individual topics (page content) and their RCS histories
twiki/templates list HTML templates, used by TWiki scripts

File Descriptions

A rundown of the individual files included in the current distribution, organized by TWiki root directories.

Files in twiki

Application info and the current reference documentation. Full file list:

File Used for
index.html Links to launch TWiki after install and for files in this directory
license.txt GNU General Public License and TWiki-specific info
readme.txt General TWiki start-up info with relevant URLs
TWikiDocumentation.html All documentation packaged as a single page
TWikiHistory.html TWiki development timeline: versions, features, developers
TwikiUpgrade TWiki upgrade script (Beta state)

Files in twiki/bin

Perl CGI scripts. Full file list:

File: Used for:
.htaccess.txt Authentication. Rename to .htaccess and customize if used
attach Shows the attach file page (FileAttachment)
changes a simple WebChanges query
edit Edit a topic
geturl Fetch URL data
installpasswd Install new password by admin
mailnotify Script called by cron job to notify users of changes
manage Manage script to create new webs
oops Shows an OK or oops dialog
passwd Reset and change password
preview Preview topic after edit
rdiff See differences of topics
rdiffauth Copy of rdiff script (ideally a link). The .htaccess file sets this as requiring authorisation
register Register new users
rename Rename/move topics and move attachments
save Saves a topic, called by preview
search Displays search results
setlib.cfg Location of the TWiki libraries. Customize if needed
statistics Create statistics topic
testenv Test CGI environment variables
upload Does file upload (FileAttachment)
view View a topic (the script)
viewauth Copy of view script (ideally a link). The .htaccess file sets this as requiring authorisation
viewfile View a file attachment

Files under twiki/lib

The new lib/TWiki/Plugins directories contain configuration, library and function files, and TWikiPlugins. Full file list:

File: Used for:
TWiki.cfg Main configuration, used by TWiki.pm
TWiki.pm Main TWiki library
Algorithm/Diff.pm Diff library
Text/Diff.pm Diff library, used by TwikiUpgrade script
TWiki/Access.pm Access control
TWiki/Attach.pm Attachment handling
TWiki/Form.pm Form handling
TWiki/Func.pm Public functions that Plugins may use
TWiki/Meta.pm Meta data in topics
TWiki/Net.pm SMTP mail handling
TWiki/Plugins.pm Plugin handling
TWiki/Plugins/CommentPlugin.pm Plugin handling a comment box
TWiki/Plugins/CommentPlugin/Attrs.pm Supporting module for Comment Plugin
TWiki/Plugins/CommentPlugin/Comment.pm Supporting module for Comment Plugin
TWiki/Plugins/CommentPlugin/Templates.pm Supporting module for Comment Plugin
TWiki/Plugins/DefaultPlugin.pm Handles some legacy rules
TWiki/Plugins/EditTablePlugin.pm Plugin to edit tables
TWiki/Plugins/EmptyPlugin.pm Empty plugin, use to create your own
TWiki/Plugins/InterwikiPlugin.pm Use aliases as links for predefined URLs
TWiki/Plugins/RenderListPlugin.pm Plugin to render lists as nice trees
TWiki/Plugins/SlideShowPlugin.pm Plugin turning headings into slides
TWiki/Plugins/SmiliesPlugin.pm Plugin rendering smilies like :-)
TWiki/Plugins/SpreadSheetPlugin.pm Plugin resolving spreadsheet formulae
TWiki/Plugins/TablePlugin.pm Plugin to render tables nicely
TWiki/Prefs.pm Preferences handling
TWiki/Render.pm TWiki markup to HTML rendering
TWiki/Search.pm Search engine, used by TWiki.pm
TWiki/Store.pm Back-end storage, *.txt text file and *.txt,v RCS repository file handling
TWiki/Store/RcsFile.pm Generic file handling code, a class
TWiki/Store/RcsWrap.pm Wrappers around RCS executables, a class that inherits from RcsFile
TWiki/Store/RcsLite.pm A Perl RCS implemention, a class that inherits from RcsFile
TWiki/UI.pm User interface handling
TWiki/UI/Changes.pm Functionality of changes script
TWiki/UI/Edit.pm Functionality of edit script
TWiki/UI/Manage.pm Functionality of manage script
TWiki/UI/Oops.pm Functionality of oops script
TWiki/UI/Preview.pm Functionality of preview script
TWiki/UI/RDiff.pm Functionality of rdiff script
TWiki/UI/Save.pm Functionality of save script
TWiki/UI/Search.pm Functionality of search script
TWiki/UI/Statistics.pm Functionality of statistics script
TWiki/UI/Upload.pm Functionality of upload script
TWiki/UI/View.pm Functionality of view script
TWiki/UI/Viewfile.pm Functionality of viewfile script
TWiki/Upgrade/TWikiCfg.pm Supporting module of TwikiUpgrade script
TWiki/Upgrade/UpdateTopics.pm Supporting module of TwikiUpgrade script
TWiki/Upgrade/UpdateTopicsManualSymlinks.pm Supporting module of TwikiUpgrade script
TWiki/User.pm Abstraction package to allow plugable user authentication systems
TWiki/User/HtPasswdUser.pm Apache Htpasswd file implementation (the default)
TWiki/User/NoPasswdUser.pm simple, no users authentication (totally wiki)

Files under twiki/pub

The pub directory stores topic-related files, including images used by TWiki and FileAttachments. Attachments are stored in subdirectories created with the related topic name. You can also upload files directly for and link manually (but not through Attach) Partial file list:

File: Used for:
favicon.ico ICO file
wikiHome.gif GIF file
icn/_filetypes.txt Lookup table to translate file extension to file type
icn/bat.gif GIF file for file type
icn/bmp.gif GIF file for file type
... ...
TWiki/FileAttachment/Sample.txt TEXT file: sample
TWiki/FileAttachment/Smile.gif GIF image: sample
TWiki/FileAttachment/Smile.gif,v RCS repository for GIF file
TWiki/PreviewBackground/blankltgraybg.gif GIF image
TWiki/PreviewBackground/blankwhitebg.gif GIF image
TWiki/PreviewBackground/previewbg.gif GIF image: Preview view background
TWiki/PreviewBackground/preview2bg.gif GIF image: Alternate preview view background
TWiki/TWikiLogos/twikiRobot121x54.gif GIF image: TWiki logo
... ...
TWiki/TWikiTemplates/testscreen.gif GIF image: Screen shot
TWiki/WabiSabi/wabisabi.gif GIF image: illustration

Files under twiki/data

TWiki topics: data stored as individual text files and rendered by TWiki for display as regular Web pages. Each active web has its own subdirectory. The TWiki distribution includes a number of start-up webs - Main, TWiki, and Sandbox - with documentation and demo content, a Trash web for browser-based, recoverable topic deletion, and a _default directory containing a core topic set required to start a new web. Partial file list:

File: Used for:
.htpasswd Basic Authentication (htaccess) users file with username and encrypted password pairs
debug.txt Program-generated messages useful for debugging
mime.types Recognized file formats
warning.txt Diagnostic messages for identifying problems
_default/.changes Per web record of topic changes
_default/.mailnotify Per web timestamp of most recent email notification
_default/WebChanges.txt Display most recent topic changes in web
_default/WebChanges.txt,v Revisions history (RCS)
_default/WebHome.txt Default web home page
_default/WebHome.txt,v Revisions history (RCS)
_default/WebIndex.txt Lists all topics in a web
_default/WebIndex.txt,v Revisions history (RCS)
_default/WebLeftBar.txt Left navigation bar for PatternSkin
_default/WebLeftBar.txt,v Revisions history (RCS)
_default/WebNotify.txt Subscribe/unsubscribe to web changes email alert
_default/WebNotify.txt,v Revisions history (RCS)
_default/WebPreferences.txt Per web Preference Settings
_default/WebPreferences.txt,v Revisions history (RCS)
_default/WebSearch.txt Per web search options
_default/WebSearch.txt,v Revisions history (RCS)
_default/WebStatistics.txt Generates web usage statistics
_default/WebStatistics.txt,v Revisions history (RCS)
_default/WebTopicList.txt Lists all topics in a web in compact format
_default/WebTopicList.txt,v Revisions history (RCS)
... ...

Files in twiki/templates

Templates and skins used to control appearance of topics rendered as Web pages. Partial file list:

File: Used for:
attach.tmpl Attachment (FileAttachments) control screen
attachagain.tmpl Attachment control screen for updating an existing attachment
attachnew.tmpl Attachment control screen for adding a new attachment
attachtables.tmpl Macros for definition of attachment tables
changeform.tmpl Control screen to change the form in edit mode
changes.tmpl Displays list of recently changed topics
edit.iejs.tmpl Edit window with IE-specific JavaScript
edit.tmpl Main edit window
mailnotify.tmpl Email notification
moveattachment.tmpl Move attachment control screen
oopsaccesschange.tmpl Error message
oopsaccessgroup.tmpl Error message
oopsaccessmanage.tmpl Error message
oopsaccessrename.tmpl Error message
oopsaccessview.tmpl Error message
oopsattachnotopic.tmpl Error message
oopsauth.tmpl Error message
oopsbadcharset.tmpl Error message
oopsbadpwformat.tmpl Error message
oopschangepasswd.tmpl Error message
oopscreatenewtopic.tmpl Error message
oopsempty.tmpl Error message
oopslocked.tmpl Error message
oopslockedrename.tmpl Error message
oopsmanage.tmpl Error message
oopsmissing.tmpl Error message
oopsmngcreateweb.tmpl Error message
oopsmore.tmpl More topic actions message
oopsmoveerr.tmpl Error message
oopsnoformdef.tmpl Error message
oopsnotwikiuser.tmpl Error message
oopsnoweb.tmpl Error message
oopspreview.tmpl Error message
oopsregemail.tmpl Error message
oopsregexist.tmpl Error message
oopsregpasswd.tmpl Error message
oopsregrequ.tmpl Error message
oopsregthanks.tmpl Error message
oopsregwiki.tmpl Error message
oopsremoveuserdone.tmpl Error message
oopsrenameerr.tmpl Error message
oopsrenamenotwikiword.tmpl Error message
oopsresetpasswd.tmpl Error message
oopsrev.tmpl Error message
oopssave.tmpl Error message
oopssaveerr.tmpl Error message
oopssendmailerr.tmpl Error message
oopstopicexists.tmpl Error message
oopsupload.tmpl Error message
oopsuploadlimit.tmpl Error message
oopswrongpassword.tmpl Error message
preview.tmpl Preview Changes screen
rdiff.tmpl Displays text changes before & after Diffs
registernotify.tmpl Registration notification
rename.tmpl Rename/move control screen (choose web & new topic tile
renamebase.tmpl Used by other rename templates
renameconfirm.tmpl Confirms a pre-specified rename, ex: undoing a rename
renamedelete.tmpl Confirms a delete
renamerefs.tmpl Display if rename done, but some references not changed (topics were locked)
search.tmpl Search screen
searchbookview.tmpl Search results with full topic content
searchformat.tmpl Search screen for formatted search
searchmeta.tmpl Search screen
searchrenameview.tmpl Used by rename to list references to topic being renamed
twiki.tmpl Master template: definitions are used by other templates
view.plain.tmpl Skin for bare bone topic view without header/footer but with HTML head and body tags
view.print.tmpl Skin for printable topic view with a simple header/footer
view.rss.tmpl Skin for topic view in RDF XML format
view.text.tmpl Skin for topic text only, without HTML head and body tags, and no form and attachments
view.tmpl Main topic view - the standard regular Web page

TWiki File System Snapshot

The following partial directory listings from a Linux installation show typical file permissions and ownership. This is provided for general debugging use only and isn't an exact representation of the current distribution.

  • TIP On an ISP installation... The user and group - twiki twiki - will probably be your domain or login name, eg: yourdomain yourdomain and can't be changed; same for nobody nobody files further down. Also, in the bin directory, scripts might need a .cgi (sometimes .pl) extension.

Directory twiki/bin:

drwxrwxr-x    2 twiki   twiki        4096 May  9 00:08 .
drwxrwxr-x    5 twiki   twiki        4096 Nov 18  2002 ..
-rw-rw-r--    1 twiki   twiki        3145 Jul 25 00:31 .htaccess.txt
-rwxrwxr-x    1 twiki   twiki        1459 May 28 23:51 attach
-rwxrwxr-x    1 twiki   twiki        1721 May 28 23:51 changes
-rwxrwxr-x    1 twiki   twiki        1994 May 28 23:51 edit
-rwxrwxr-x    1 twiki   twiki        1878 May 28 23:51 geturl
-rwxrwxr-x    1 twiki   twiki        6689 May 28 23:51 installpasswd
-rwxrwxr-x    1 twiki   twiki        7313 May 28 23:51 mailnotify
-rwxrwxr-x    1 twiki   twiki        3557 Jul 25 15:00 manage
-rwxrwxr-x    1 twiki   twiki        1448 May 28 23:51 oops
-rwxrwxr-x    1 twiki   twiki        4062 May 28 23:51 passwd
-rwxrwxr-x    1 twiki   twiki        1506 May 28 23:51 preview
-rwxrwxr-x    2 twiki   twiki        1490 May 28 23:51 rdiff
-rwxrwxr-x    2 twiki   twiki        1490 May 28 23:51 rdiffauth
-rwxrwxr-x    1 twiki   twiki        7635 May 28 23:51 register
-rwxrwxr-x    1 twiki   twiki        1774 May 28 23:51 rename
-rwxrwxr-x    1 twiki   twiki        1654 Jul 25 00:31 save
-rwxrwxr-x    1 twiki   twiki        1728 May 28 23:51 search
-rw-rw-r--    1 twiki   twiki        2131 Aug  7 21:13 setlib.cfg
-rwxrwxr-x    1 twiki   twiki        2596 May 28 23:51 statistics
-rwxrwxr-x    1 twiki   twiki       39926 Jul 25 15:00 testenv
-rwxrwxr-x    1 twiki   twiki        1478 May 28 23:51 upload
-rwxrwxr-x    2 twiki   twiki        1689 May 28 23:51 view
-rwxrwxr-x    2 twiki   twiki        1689 May 28 23:51 viewauth
-rwxrwxr-x    1 twiki   twiki        1438 May 28 23:51 viewfile

Directory twiki/templates/:

drwxrwxr-x    2 twiki   twiki        4096 Aug  7 19:09 .
drwxrwxr-x    4 twiki   twiki        4096 Aug  7 21:13 ..
-rw-rw-r--    1 twiki   users        2077 Aug 13 22:21 attachagain.pattern.tmpl
-rw-rw-r--    1 twiki   users        1650 Aug 13 22:21 attachagain.tmpl
-rw-rw-r--    1 twiki   twiki        2556 Jul 27 10:47 attach.dragon.tmpl
-rw-rw-r--    1 twiki   users         567 Jul 28 19:52 attachnew.pattern.tmpl
-rw-rw-r--    1 twiki   users         470 Jul 28 19:52 attachnew.tmpl
-rw-rw-r--    1 twiki   users        2855 Aug  8 03:40 attach.pattern.tmpl
-rw-rw-r--    1 twiki   users        1991 Aug  3 13:09 attachtables.pattern.tmpl
-rw-rw-r--    1 twiki   users        1869 Jul 27 22:03 attachtables.tmpl
-rw-rw-r--    1 twiki   users        2355 Jul 28 19:52 attach.tmpl
-rw-rw-r--    1 twiki   twiki        1324 Jul 27 10:47 changeform.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1441 Aug  6 11:47 changeform.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1032 Jul 28 19:52 changeform.tmpl
-rw-rw-r--    1 twiki   twiki        1870 Jul 27 10:47 changes.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         433 Jul 31 12:39 changes.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1196 May 28 23:51 changes.tmpl
-rw-rw-r--    1 twiki   twiki          35 May 21 03:56 comments.tmpl
-rw-rw-r--    1 twiki   twiki         526 Jul 27 10:47 dragoncssvars.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1645 Jul 31 00:57 dragonmenu.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        4207 Jul 27 10:47 edit.dragon.tmpl
-rw-rw-r--    1 twiki   twiki       12608 Jul 28 19:52 edit.iejs.tmpl
-rw-rw-r--    1 twiki   twiki        4904 Aug  7 17:48 edit.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        3975 Aug  8 03:40 edit.tmpl
-rw-rw-r--    1 twiki   twiki         993 May 28 23:51 mailnotify.tmpl
-rw-rw-r--    1 twiki   twiki        1640 Jul 27 10:47 moveattachment.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1968 Aug  7 17:48 moveattachment.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1342 Jul 28 19:52 moveattachment.tmpl
-rw-rw-r--    1 twiki   twiki         571 May 28 23:51 oopsaccesschange.tmpl
-rw-rw-r--    1 twiki   twiki         587 May 28 23:51 oopsaccessgroup.tmpl
-rw-rw-r--    1 twiki   twiki         597 Aug  2 11:10 oopsaccessmanage.tmpl
-rw-rw-r--    1 twiki   twiki         572 May 28 23:51 oopsaccessrename.tmpl
-rw-rw-r--    1 twiki   twiki         574 May 28 23:51 oopsaccessview.tmpl
-rw-rw-r--    1 twiki   twiki         571 Aug  2 11:10 oopsattachnotopic.tmpl
-rw-rw-r--    1 twiki   twiki         998 May 28 23:51 oopsauth.tmpl
-rw-rw-r--    1 twiki   twiki         646 May 28 23:51 oopsbadcharset.tmpl
-rw-rw-r--    1 twiki   twiki         406 May 28 23:51 oopsbadpwformat.tmpl
-rw-rw-r--    1 twiki   twiki         345 May 28 23:51 oopschangepasswd.tmpl
-rw-rw-r--    1 twiki   twiki         382 May 28 23:51 oopscreatenewtopic.tmpl
-rw-rw-r--    1 twiki   twiki         627 Jul  7 23:11 oopsempty.tmpl
-rw-rw-r--    1 twiki   twiki         927 Aug  3 13:09 oopslocked.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         612 Aug  2 11:10 oopslockedrename.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         596 Aug  2 11:10 oopslockedrename.tmpl
-rw-rw-r--    1 twiki   twiki         910 Aug  3 13:09 oopslocked.tmpl
-rw-rw-r--    1 twiki   twiki         679 May 28 23:51 oopsmanage.tmpl
-rw-rw-r--    1 twiki   twiki         329 May 28 23:51 oopsmissing.tmpl
-rw-rw-r--    1 twiki   twiki        2353 May 28 23:51 oopsmngcreateweb.tmpl
-rw-rw-r--    1 twiki   twiki        2987 Aug  3 13:09 oopsmore.tmpl
-rw-rw-r--    1 twiki   twiki         418 May 28 23:51 oopsmoveerr.tmpl
-rw-rw-r--    1 twiki   twiki        1133 May 28 23:51 oopsnoformdef.tmpl
-rw-rw-r--    1 twiki   twiki         521 May 28 23:51 oopsnotwikiuser.tmpl
-rw-rw-r--    1 twiki   twiki        1516 Jul 28 19:52 oopsnoweb.tmpl
-rw-rw-r--    1 twiki   twiki         394 May 28 23:51 oopspreview.tmpl
-rw-rw-r--    1 twiki   twiki         341 May 28 23:51 oopsregemail.tmpl
-rw-rw-r--    1 twiki   twiki         411 May 28 23:51 oopsregerr.tmpl
-rw-rw-r--    1 twiki   twiki         476 May 28 23:51 oopsregexist.tmpl
-rw-rw-r--    1 twiki   twiki         346 May 28 23:51 oopsregpasswd.tmpl
-rw-rw-r--    1 twiki   twiki         357 May 28 23:51 oopsregrequ.tmpl
-rw-rw-r--    1 twiki   twiki         541 May 28 23:51 oopsregthanks.tmpl
-rw-rw-r--    1 twiki   twiki         680 May 28 23:51 oopsregwiki.tmpl
-rw-rw-r--    1 twiki   twiki         587 May 28 23:51 oopsremoveuserdone.tmpl
-rw-rw-r--    1 twiki   twiki         503 May 28 23:51 oopsrenameerr.tmpl
-rw-rw-r--    1 twiki   twiki         434 May 28 23:51 oopsrenamenotwikiword.tmpl
-rw-rw-r--    1 twiki   twiki         507 May 28 23:51 oopsresetpasswd.tmpl
-rw-rw-r--    1 twiki   twiki         962 Jul 28 19:52 oopsrev.tmpl
-rw-rw-r--    1 twiki   twiki         483 May 28 23:51 oopssaveerr.tmpl
-rw-rw-r--    1 twiki   twiki         777 Jul  7 23:11 oopssave.tmpl
-rw-rw-r--    1 twiki   twiki         466 May 28 23:51 oopssendmailerr.tmpl
-rw-rw-r--    1 twiki   twiki         385 May 28 23:51 oopstopicexists.tmpl
-rw-rw-r--    1 twiki   twiki         344 May 28 23:51 oopsuploadlimit.tmpl
-rw-rw-r--    1 twiki   twiki         343 May 28 23:51 oopsupload.tmpl
-rw-rw-r--    1 twiki   twiki         365 May 28 23:51 oopswrongpassword.tmpl
-rw-rw-r--    1 twiki   twiki        3590 Jul 27 10:47 preview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        2855 Aug  6 11:47 preview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2253 Aug  8 03:40 preview.tmpl
-rw-rw-r--    1 twiki   twiki        1739 Jul 27 10:47 rdiff.dragon.tmpl
-rw-rw-r--    1 twiki   users        1529 Aug 13 22:21 rdiff.pattern.tmpl
-rw-rw-r--    1 twiki   users        1299 May 28 23:51 rdiff.tmpl
-rw-rw-r--    1 twiki   twiki        1159 Jul 31 12:39 registernotify.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1160 May 28 23:51 registernotify.tmpl
-rw-rw-r--    1 twiki   twiki        2561 Jul 27 10:47 renamebase.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3363 Aug  8 03:40 renamebase.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2279 Jul 28 20:54 renamebase.tmpl
-rw-rw-r--    1 twiki   twiki         718 Jul 31 12:39 renameconfirm.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         570 Jul 28 19:52 renameconfirm.tmpl
-rw-rw-r--    1 twiki   twiki        1046 Jul 31 12:39 renamedelete.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         932 Jul 28 19:52 renamedelete.tmpl
-rw-rw-r--    1 twiki   twiki        1147 Jul 31 12:39 rename.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         766 Jul 28 19:52 renamerefs.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         616 Jul 28 19:52 renamerefs.tmpl
-rw-rw-r--    1 twiki   twiki        1041 Jul 28 19:52 rename.tmpl
-rw-rw-r--    1 twiki   twiki        1397 Jul 27 10:47 searchbookview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         723 Jul 31 12:39 searchbookview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1230 May 28 23:51 searchbookview.tmpl
-rw-rw-r--    1 twiki   twiki        1705 Jul 27 10:47 search.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         722 Jul 27 10:47 searchformat.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         157 Jul 31 12:39 searchformat.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         529 May 28 23:51 searchformat.tmpl
-rw-rw-r--    1 twiki   twiki         149 Jul  7 23:03 searchmeta.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         149 May 28 23:51 searchmeta.tmpl
-rw-rw-r--    1 twiki   twiki        1638 Aug  7 17:48 search.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1892 Jul 27 10:47 searchrenameview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1208 Aug  3 13:09 searchrenameview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1615 May 28 23:51 searchrenameview.tmpl
-rw-rw-r--    1 twiki   twiki        1364 May 28 23:51 search.tmpl
-rw-rw-r--    1 twiki   twiki        3836 Jul 27 10:47 twiki.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3175 Aug  7 17:48 twiki.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2798 Jul 27 22:57 twiki.tmpl
-rw-rw-r--    1 twiki   twiki        1324 Jul 27 10:47 view.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3577 Aug  8 03:40 view.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         425 May 28 23:51 view.plain.tmpl
-rw-rw-r--    1 twiki   twiki        1056 Jul 31 12:39 view.print.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         845 May 28 23:51 view.print.tmpl
-rw-rw-r--    1 twiki   twiki         300 May 28 23:51 view.rss.tmpl
-rw-rw-r--    1 twiki   twiki           8 May 28 23:51 view.text.tmpl
-rw-rw-r--    1 twiki   twiki        1281 Jul 31 12:39 view.tmpl

Directory twiki/data/:

drwxrwxr-x    7 nobody  twiki        4096 Aug  7 21:13 .
drwxrwxr-x    4 twiki   twiki        4096 Aug  7 21:13 ..
-rw-rw-rw-    1 twiki   twiki           0 Feb  1  2003 debug.txt
drwxrwxr-x    2 nobody  twiki        4096 Jul 16 00:36 _default
-rw-rw-r--    1 twiki   twiki          25 Dec 16  2003 .htpasswd.txt
-rw-rw-r--    1 nobody  nobody      11811 Aug 13 23:10 log200408.txt
drwxrwxr-x    2 nobody  twiki        4096 Aug  4 21:03 Main
-rw-rw-r--    1 twiki   twiki        3419 Aug 13  2001 mime.types
drwxrwxr-x    2 nobody  twiki        4096 Aug  7 21:03 Sandbox
drwxrwxr-x    2 nobody  twiki        4096 Jul 20 18:15 Trash
drwxrwxr-x    2 nobody  twiki       12288 Aug 13 23:10 TWiki
-rw-rw-rw-    1 twiki   twiki           0 Aug  7 18:03 warning.txt

Partial file list for twiki/data/Main:

  • TIP Included files come with their RCS versions histories .txt,v.

drwxrwxr-x    2 nobody  twiki        4096 Aug  4 21:03 .
drwxrwxr-x    7 nobody  twiki        4096 Aug  7 21:13 ..
-rw-rw-rw-    1 twiki   twiki        3743 Aug  4 21:03 .changes
-rw-rw-rw-    1 twiki   twiki           9 Oct 25  2001 .mailnotify
-rw-r--r--    1 nobody  nobody        518 Dec 16  2003 TWikiAdminGroup.txt
-r--r--r--    1 nobody  nobody       2453 Dec 16  2003 TWikiAdminGroup.txt,v
-rw-r--r--    1 nobody  nobody       1668 Aug  4 21:03 TWikiGroups.txt
-r--r--r--    1 nobody  nobody       3421 Aug  4 21:03 TWikiGroups.txt,v
-rw-r--r--    1 nobody  nobody        686 Dec 13  2000 TWikiGuest.txt
-rw-r--r--    1 nobody  nobody       1995 Dec 13  2000 TWikiGuest.txt,v
-rw-r--r--    1 nobody  nobody        319 Dec 20  2003 TWikiPreferences.txt
-r--r--r--    1 nobody  nobody        508 Dec 20  2003 TWikiPreferences.txt,v
-rw-r--r--    1 nobody  nobody       1812 Feb 20 13:54 TWikiUsers.txt
-r--r--r--    1 nobody  nobody       9222 Feb 20 13:54 TWikiUsers.txt,v
-rw-r--r--    1 nobody  nobody        119 Jan 11  2003 TWikiVariables.txt
-r--r--r--    1 nobody  nobody        742 Jan 11  2003 TWikiVariables.txt,v
-rw-r--r--    1 nobody  nobody        124 Aug 16  2001 WebChanges.txt
-r--r--r--    1 nobody  nobody        526 Aug 16  2001 WebChanges.txt,v
-rw-r--r--    1 nobody  nobody       1842 Feb  1  2003 WebHome.txt
-r--r--r--    1 nobody  nobody      11862 Feb  1  2003 WebHome.txt,v
-rw-r--r--    1 nobody  nobody        176 Nov 24  2001 WebIndex.txt
-r--r--r--    1 nobody  nobody        483 Nov 24  2001 WebIndex.txt,v
-rw-r--r--    1 nobody  nobody        922 Feb  3  2003 WebNotify.txt
-r--r--r--    1 nobody  nobody       4303 Feb  3  2003 WebNotify.txt,v
-rw-r--r--    1 nobody  nobody       3738 Dec 25  2003 WebPreferences.txt
-r--r--r--    1 nobody  nobody      10697 Dec 25  2003 WebPreferences.txt,v
-rw-r--r--    1 nobody  nobody        416 Jan 30  2003 WebRss.txt
-r--r--r--    1 nobody  nobody        605 Jan 30  2003 WebRss.txt,v
-rw-r--r--    1 nobody  nobody        164 Jan 18  2004 WebSearchAdvanced.txt
-r--r--r--    1 nobody  nobody        353 Jan 18  2004 WebSearchAdvanced.txt,v
-rw-r--r--    1 nobody  nobody        158 Aug  7  2001 WebSearch.txt
-r--r--r--    1 nobody  nobody      18332 Aug  7  2001 WebSearch.txt,v
-rw-r--r--    1 nobody  nobody        825 Jul 16 00:32 WebStatistics.txt
-r--r--r--    1 nobody  nobody       4226 Jul 16 00:32 WebStatistics.txt,v
-rw-r--r--    1 nobody  nobody        182 Nov 24  2001 WebTopicList.txt
-r--r--r--    1 nobody  nobody        371 Nov 24  2001 WebTopicList.txt,v

Directory twiki/pub/:

drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 .
drwxrwxr-x    3 twiki   twiki        4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody  nobody       4096 Apr  7  2002 Main
drwxrwxr-x    2 nobody  nobody       4096 Apr 20  2002 Sandbox
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 TWiki
drwxrwxr-x    2 nobody  nobody       4096 Dec  3  2001 Trash
-rw-rw-r--    1 twiki   twiki        1078 Jan 14  2000 favicon.ico
drwxrwxr-x    2 twiki   twiki        4096 Nov 18 12:31 icn
-rw-rw-r--    1 twiki   twiki        2877 Jun  7  1999 wikiHome.gif

Partial file list for twiki/pub/icn/:

drwxrwxr-x    2 twiki   twiki        4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 twiki   twiki         801 Mar 26  1999 _filetypes.txt
-rw-rw-r--    1 twiki   twiki         143 Mar  9  1999 bat.gif
-rw-rw-r--    1 twiki   twiki         926 Mar  9  1999 bmp.gif
-rw-rw-r--    1 twiki   twiki         141 Mar 25  1999 c.gif
-rw-rw-r--    1 twiki   twiki         144 Mar  9  1999 dll.gif
-rw-rw-r--    1 twiki   twiki         152 Mar  9  1999 doc.gif

Directory twiki/pub/TWiki:

drwxrwx--x    8 nobody  nobody       4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 FileAttachment
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 PreviewBackground
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiDocGraphics
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiLogos
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiTemplates
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 WabiSabi

Directory twiki/pub/TWiki/FileAttachment:

drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 .
drwxrwx--x    8 nobody  nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 nobody  nobody         30 Jul 22  1999 Sample.txt
-rw-rw-r--    1 nobody  nobody         94 Jun  7  1999 Smile.gif
-r--r--r--    1 nobody  nobody         81 Aug 15 10:14 Smile.gif,v

-- TWiki:Main.PeterThoeny - 29 Aug 2004
-- TWiki:Main.MikeMannix - 16 May 2002
-- TWiki:Main.ArthurClemens - 08 Aug 2004

BookView is an option available from the WebSearch topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead of a topic summary. This allows you to easily see a whole set of pages, which is useful for printing.
Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

If you have questions please contact the TWiki webmaster webmaster@strategoxt.org.

Note to administrator: The change password form applies only if TWiki uses Basic Authentication, e.g. a .htpassword file managed by TWiki. It does not apply if you are using external authentication, such as an IT managed password system. (remove this note if you are using Basic Authentication; else replace this topic with a note describing how to change the password in your organization)

Classic Skin

The classic TWiki skin is a bare bone and functional skin, supporting any browser, and has a minimum of graphics

This is not really a skin. It is the set of default templates, shown if no skin is activated. The default templates are part of every TWiki distribution.

Skin Info

Description: The classic TWiki skin, bare bone and functional, for any browser, with a minimum of graphics
Screenshot: Click for full screen image
Base Name: classic
Skin Author: TWiki:Main/PeterThoeny
Skin Version: 25 Jul 2004 (v1.000)
Change History:  
25 Jul 2004: Initial version (v1.000)
Dependencies:  
Skin Home: http://TWiki.org/cgi-bin/view/Plugins/ClassicSkin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/ClassicSkinDev

Note: The Description, Screenshot and Base Name rows are needed by the TWikiSkinBrowser

Related topic: TWikiSkins, TWikiSkinBrowser

-- TWiki:Main/PeterThoeny - 25 Jul 2004

Comment Plugin

This plugin allows users to quickly post comments to a page without an edit/preview/save cycle.

( Discussion in TWiki:Plugins/CommentPluginDev )

Features

Inserts an edit box into the page that allows users to type in and save comments. Comments can be made

  • in different formats (as defined by a template),
  • in both forward and reverse chronological order,
  • signed or unsigned, dated or undated (as defined by a template),
  • in other topics, or other positions within the current topic.

Syntax Rules

Write the command %COMMENT{ attributes }% anywhere in a TWiki topic. %COMMENT% is also legal.

The following attributes are recognised

Name Description
type (Required) This is the name of the template to use for this comment. Comment templates are defined in a TWiki template - see Customisation, below. If this attribute is not defined, the type is whatever is defined by COMMENTPLUGIN_DEFAULT_TYPE, either in this topic or in your WebPreferences. By default this is 'below'.
target Name of the topic to add the comment to. Defaults to the current topic.
location Regular expression specifying the comment location in the target topic. Read carefully below!
mode For compatability with older versions only, synonymous with type
nonotify Set to "on" to disable change notification for target topics

Positioning the comment

%COMMENT supports several ways to specify where a comment should be inserted in the target topic. This is referred to as the location of the comment.

Location relative to %COMMENT tag

The default location is the %COMMENT tag itself. For example:
%COMMENT{type="below"}%
will add comments in the current topic, directly below the %COMMENT tag.

Location relative to a TWiki anchor

The target attribute may specify a web, and may also specify an anchor within the target topic; for example,
%COMMENT{type="above" target="%MAINWEB%.PersonalRemarks#InsertHere"}%
This uses a standard TWiki in-topic anchor as the insertion location. See TextFormattingRules for more about TWiki anchors.

Location relative to an arbitrary text string

Getting more sophisticated, you can also specify a regular expression for the target location using the location parameter. The target topic is searched for the regular expression, and the comment inserted relative to the string that the search matched. For example,
%COMMENT{type="above" location="Flights of Fancy"}%
will place comments above the first occurence of the string Flights of Fancy in the current topic.

Warning of course, if a user's comment contains the string "Flights of Fancy" they may and up changing the location for the next comment! Also, if you use a tag in the location, then you've just inserted another tag in the page that contains the %COMMENT! So be very careful how you specify the RE for location. Note that the RE is matched using perl "multiple line" mode, so ^ and $ match the start of a line and the end of a line respectively.

If you specify an anchor and a location, the anchor will be ignored.

Default templates

A set of default comment templates are shipped with the plugin. These are:
Template type Description
top Comments, signed and dated, added at top of the topic (the anchor is ignored)
bottom Comments, signed and dated, added at end of the target topic (the anchor is ignored)
above Comments, signed and dated, added immediately before the target anchor, or the %COMMENT if no anchor is specified
below Comments, signed and dated, added immediately below the target anchor, or the %COMMENT if no anchor is specified
tableprepend Comments, signed and dated, formatted as an HTML table row, added below the anchor (which must be in an HTML <table>)
tableappend Comments, signed and dated, formatted as an HTML table row, added above the anchor (which must be in an HTML <table>)

Your local installation may add more template types as well - see Customisation, below.

Customisation

Customisation of the comment plugin requires

The plugin picks up its templates from a standard TWiki template file, named "comments". This allows different templates to be defined for different TWiki skins. This template file may include other template files, or may include a topic from a user web (this is an extension to the normal handling of %TMPL:INCLUDE described in the documentation). The shipped plugin defines default templates in comments.tmpl and then includes the topic CommentsTmpl. If you want to define your own templates, add them to UserTemplates?. Note that you can use %TMPL:INCLUDE in this file to include other files of templates. Note also that if you want to override any of the default templates shipped with the plugin, you can simply do so by defining them in UserTemplates?, and they will replace the installed versions.

To define a comment type, you have to provide two simple template definitions in the template file; one for the prompt box, and one for the generated output. If we have a template type "mytype", these are named PROMPT:mytype and OUTPUT:mytype respectively. See comments.tmpl in the templates directory for examples.

The PROMPT template

The PROMPT template defines the contents of an HTML form that is used to capture the comment. This form invokes the comment generator when submitted. Parameters to the comment generator are defined using standard HTML input fields, such as input, textarea and select. The user enters values for these parameters, and these are then available when the OUTPUT template is expanded, in the form of %URLPARAM%s.

Only the input fields of the form need be defined. The plugin automatically generates the >form< and &gt:/form< tags. Note that you must define a "submit" button if you want the form to work!

If an attribute is given to the %COMMENT tag that is not one of the standard attributes, then that attribute is taken as the name of a parameter to be expanded in the PROMPT template. Expressions in the template of the form %param|default% (e.g. %rows|3%, %button|Push me%) are expanded to the values given in the %COMMENT. For example, if the PROMPT template 'example' contains:

<textarea rows=%rows|3% cols="%cols|50%" value="%tval|Rubbish%">
and the %COMMENT tag is:
%COMMENT{type="example" rows="5" cols="20"}%
then the template will be expanded as
<textarea rows=5 cols="20" value="Rubbish">

As well as support for all the usual TWiki variables in templates, the following special variables are supported in the PROMPT definition:

Variable Description
%MESSAGE% A helpful generated message, either a lock message or a reminder to refresh.
%DISABLED% Set to 'disabled' when you cannot comment (see Important Note regarding Locks, below).

The OUTPUT template

The OUTPUT template defines the format for the text that actually gets embedded into the topic. All the usual TWiki variables are available in the PROMPT definition, but note that they get expanded when the comment is inserted in the text, so time, date and username will refer to the time and date when the comment was made and the user who made it.

There are also four position tags that are used to indicate where the comment should be placed, relative to the location defined in the %COMMENT tag:

%POS:TOP% If present, comments will be inserted at the top of the topic i.e. before any other text
%POS:BOTTOM% If present, comments will be inserted at the end of the topic i.e. after all existing text
%POS:BEFORE% If present, comments will be inserted immediately before the %COMMENT% tag
%POS:AFTER% If present, comments will be inserted immediately after the %COMMENT% tag
Note that these position tags are obviously mutually exclusive. If you define more than one, the result is undefined. If none is present, the default is taken from the plugin setting DEFAULT_TYPE

Important Note regarding Locks

The plugin checks if the page is locked for edit. When a locked page is displayed in 'view' mode, comment input is automatically disabled.

Note that if the page was read long time ago, it's possible that page was locked by another user after it was read, and the lock is still outstanding. In this case, comments cannot be saved, and you will be redirected to a "topic is locked" page. You then have two options:

  • Cancel - throw away your comment and return to viewing the page.
  • Back - WARNING some browsers might requery the page and lose your comments - so test how your browser behaves before using the Back button.

To help avoid edit conflict, a reminder to refresh the page before entering comments is the default text for a %COMMENT. When the target page is known to be locked, the PROMPT form is automatically disabled.

Settings

  • Description:
    • Set SHORTDESCRIPTION = Allows users to quickly post comments to a page without an edit/preview/save cycle.
  • templates; includes user templates from CommentsTmpl
    • Set TEMPLATES = comments
  • default template type (if not present, defaults to "below")
    • Set DEFAULT_TYPE = above

Plugin Installation Instructions

* Make sure you have the TWiki:Plugins/SharedCode module installed. Among other things, TWiki:Plugins/SharedCode includes a compatibility module that enables plugins to use new TWiki features with earlier TWiki releases. If you don't already have it, install it now.
  • Download the ZIP file from the Plugin web (see below)
  • Unzip CommentPlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/CommentPlugin.txt Plugin doc page (this page)
    data/TWiki/CommentsTmpl.txt Example user templates
    templates/comments.tmpl Master comment templates
    lib/TWiki/Plugins/CommentPlugin.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/Comment.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/Templates.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/test.zip Tests
    lib/TWiki/Plugins/CommentPlugin/build.pl Build file

  • The Plugin depends on the viewauth script to authenticate the user. As described in TWikiAccessControl, copy the view script to viewauth (or better, create a symbolic link) and add viewauth to the list of authenticated scripts in the .htaccess file.

If installed correctly, you should see a %COMMENT edit box below here.

%COMMENT{type="top" target="Sandbox.Comments"}%

Plugin Info

Plugin Author: v1.0 TWiki:Main/DavidWeller v2.0 TWiki:Main/PeterMasiar v3.0 TWiki:Main/CrawfordCurrie
Plugin Version: 3.0
Change History: 3.003 11 Apr 2004: Minor line termination problem fixed, and "security" hyphen on standard comment removed and replaced with a bulleted list.
  3.002 6 April 2004: Applied patches (thanks Peter Thoeny) for multiple comment adding, BOTTOM and TOP inside meta-data, and moved example to Sandbox.
  3.001 13 March 2004: Modified to use viewauth save technique (safer), add nonotify parameter, move templates fully into topics, with a hook for site-specifics, support %COMMENT%, internationalisation fixes
  3.000 18 Feb 2004: TWiki:Main/CrawfordCurrie rewrote for standard templates and other user requests. Recognition to Patrice Fournier and Sam Abrams for terrific testing and patch support.
  7 Feb 2004: TWiki:Main/CrawfordCurrie rewrote this page and CommentTemplates? in an effort to make the plugin more user friendly. Added {TIME} variable. Also updated CVS.
  23 Sep 2003 TWiki:Main/PeterMasiar: 80% rewrite/refactor, adding templates
  15 July 2003: TWiki:Main/PeterMasiar added "reminder" parameter and feature to pass comments to oopslockedcomments.tmpl template to copy-paste later
  5 March 2002 Bug fixes, TWiki:Main/JonLambert created oopslockedcomments.tmpl template
  24 Feb 2002 added a few more user requests, made "English" text configurable
  4 Dec 2001: 1.01 release, changed name to CommentPlugin, added $button var, changed textarea WRAP setting to "soft"
  30 Nov 2001: Initial version
Dependencies:  
Perl Version: 5.0
Plugin Home: TWiki:Plugins/CommentPlugin
Feedback: TWiki:Plugins/CommentPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/DavidWeller - 05 Mar 2002
-- TWiki:Main/PeterMasiar - 15 Jul 2003, 23 Sep 2003
-- TWiki:Main/CrawfordCurrie - 21 May 2004

Templates for CommentPlugin - See CommentPlugin#Customisation for help

WARNING: THIS FILE WILL BE OVERWRITTEN WHEN YOU UPGRADE THE COMMENT PLUGIN

Put your local templates into UserTemplates?. LOCAL TEMPLATES WILL OVERRIDE TEMPLATES DEFINED IN THIS FILE

Template definitions

Templates used in rest of file

Generic prompt box used by other templates
%TMPL:DEF{promptbox}%
<table><tr valign="middle"><td><textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="comment" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea></td><td><input %DISABLED% type="submit" value="%button|Add comment%" /></td></tr></table>
%TMPL:END%
Standard comment, preserving formatting, signed and dated
%TMPL:DEF{outputstandard}%

%URLPARAM{"comment"}%

-- %WIKIUSERNAME% - %DATE%
%TMPL:END%
Short comment, signed and dated
%TMPL:DEF{outputoneliner}%   * %URLPARAM{"comment"}% -- %WIKIUSERNAME% - %DATE% %TIME%%TMPL:END%

User templates

top

Comments, signed and dated, added at top of file
%TMPL:DEF{PROMPT:top}%%TMPL:P{promptbox}%%TMPL:END%

%TMPL:DEF{OUTPUT:top}%%TMPL:P{outputoneliner}%%POS:TOP%
%TMPL:END%

bottom

Comments, signed and dated, added at end of file
%TMPL:DEF{PROMPT:bottom}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:bottom}%%POS:BOTTOM%%TMPL:P{outputoneliner}%%TMPL:END%

above

Comments, signed and dated, added immediately before anchor
%TMPL:DEF{PROMPT:above}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:above}%%POS:BEFORE%%TMPL:P{outputstandard}%
%TMPL:END%

below

Comments, signed and dated, added immediately below anchor
%TMPL:DEF{PROMPT:below}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:below}%%POS:AFTER%%TMPL:P{outputstandard}%
%TMPL:END%

tableprepend

Comments, signed and dated, added at top of table below the anchor/location/COMMENT
%TMPL:DEF{PROMPT:tableprepend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableprepend}%%POS:AFTER%| %URLPARAM{"comment" newline="<br />"}% </td><td> %WIKIUSERNAME% </td><td> %DATE% %TIME% |
%TMPL:END%

tableappend

Comments, signed and dated, added at end of table above the anchor/location/COMMENT
%TMPL:DEF{PROMPT:tableappend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableappend}%%POS:BEFORE%| %URLPARAM{"comment" newline="<br />"}% | %WIKIUSERNAME% | %DATE% %TIME% |
%TMPL:END%

after: Add before the comment box

%TMPL:DEF{PROMPT:after}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:after}%%TMPL:P{outputoneliner}% %POS:BEFORE%%TMPL:END%

action

Action added to action table directly above comment box
%TMPL:DEF{PROMPT:action}%
<table>
 <tr>
  <td align="right">Action for (TWiki.WikiName):</td>
  <td><input name="who" type="text" size="50" value="%URLPARAM{"who"}%" /></td>
 </tr>
 <tr>
  <td align="right">Due date:</td>
  <td>
   <input name="due" id="idDue" type="text" size="30" value="%URLPARAM{"due"}%" />
  </td>
 </tr>
 <tr>
  <td colspan="2">
   <textarea %DISABLED% rows="5" cols="120" name="comment" wrap="soft"></textarea>
  </td>
 </tr>
 <tr>
  <td colspan=2 align=middle><input %DISABLED% type="submit" value="Add action" /></td>
 </tr>
</table>
%TMPL:END%
%TMPL:DEF{OUTPUT:action}%%POS:BEFORE%%ACTION{who="%URLPARAM{"who"}%" due="%URLPARAM{"due"}%"}% %URLPARAM{"comment" newline="<br />"}%<br />- Created by %WIKIUSERNAME%, %DATE% %TIME%
%TMPL:END%

poll

TWiki table that collects results from a poll on plugin usage
%TMPL:DEF{PROMPT:poll}%
<table valign="middle">
 <tr>
  <td align=right>Number of sites?</td>
  <td align=left><input %DISABLED% type="text" name="sites" size="3" value="1"></td>
  <td align=right>Plugin hacked?</td>
  <td align=left>
   <select %DISABLED% name="pluginhacked">
    <option>no</option>
    <option>yes</option>
   </select>
  </td>
  <td align=right>TWiki hacked?</td>
  <td align=left>
   <select %DISABLED% name="twikihacked">
    <option>no</option>
    <option>yes</option>
   </select>
  </td>
  <td align=right>Remarks</td>
  <td align=left><input %DISABLED% type="text" name="remarks" size="30" value=""></td>
  <td>
   <input %DISABLED% type="submit" value="Yes, I use it" />
  </td>
 </tr>
</table>
%TMPL:END%
%TMPL:DEF{OUTPUT:poll}%%POS:BEFORE%| %WIKIUSERNAME% | %URLPARAM{"sites"}% | %URLPARAM{"pluginhacked"}% | %URLPARAM{"twikihacked"}% | %URLPARAM{"remarks"}% |
%TMPL:END%

table

Tablerows adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:table}%
<hr width="60%"/> Date: <input %DISABLED% type="text" size="40" name="comment_date" /> <br /> City: <input %DISABLED% type="text" size="40" name="comment_city" value="" /> <input %DISABLED% type="submit" value="%button|Add%" /> entry <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:table}%
%POS:BEFORE%| %URLPARAM{"comment_date"}% | %WIKIUSERNAME% | %URLPARAM{"comment_city" }% |
%TMPL:END%

toctalk

Talk using TOC adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:toctalk}%
<hr width="60%"/> Summary: <input %DISABLED% type="text" size="40" name="comment_summary" /> <br /> <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="comment_text" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> <br /> <input %DISABLED% type="submit" value="%button|Add%" /> <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:toctalk}%
%POS:BEFORE%---+++ %DATE% %TIME% %WIKIUSERNAME%: %URLPARAM{"comment_summary"}%
%POS:BEFORE%%URLPARAM{"comment_text" }%
%POS:BEFORE%
%TMPL:END%

bookmark

Talk using TOC adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:bookmark}%
<hr width="60%"/> URL: <input %DISABLED% type="text" size="40" name="comment_url" value="http://" /> <br /> Link: <input %DISABLED% type="text" size="40" name="comment_link" /> <br /> Text: <input %DISABLED% type="text" size="40" name="comment_text" value="%MESSAGE%" /> <input %DISABLED% type="submit" value="%button|Add%" />   bookmark <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:bookmark}%
%POS:BEFORE%   * [[%URLPARAM{"comment_url"}%][%URLPARAM{"comment_link"}%]] - %URLPARAM{"comment_text" }%
%TMPL:END%

%TMPL:INCLUDE{"TWiki.UserTemplates"}%

Default TWiki Plugin

The default plugin is used for some depreciated rendering of older TWiki versions and of JosWiki. This plugin can also be used to specify some simple custom rendering rules. Note: Create a new TWikiPlugin based on EmptyPlugin if you plan to offer some complex rendering or other functionality.

Syntax Rules

Custom rendering rules of the default plugin:

  • Allow old include syntax ( %INCLUDE:"TopicName"% ) if Plugin Preferences variable OLDINCLUDE is set to 1
  • Render depreciated *_text_* as bold italic text. Test if installed: This is bold italic
  • Enable JosWiki rules if JosWiki specific code is uncommented

Modify file TWiki/Plugins/DefaultPlugin.pm to add your own rules or to enable JosWiki rules.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %DEFAULTPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = This plugin can be used to specify some simple custom rendering rules. It also renders depreciated *_text_* as bold italic text.

  • Allow depreciated %INCLUDE:"TopicName"% syntax:
    • Set OLDINCLUDE = 1

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

  • This plugin is preinstalled, you do not need to install it.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2004
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/DefaultPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DefaultPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, EmptyPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

Your Heading

Test Web

-- AmudhaVijay - 18 May 2005

FAQ:

How do I delete or rename a topic?

Answer:

These two questions are answered together because often when you think you want to delete a page, more often it makes sense to rename the page to contain more context, e.g. rename it to include the date.

You can rename, move and delete topics directly from your browser. Moving lets you transfer a topic from one web to another. The soft delete moves a topic to the special Trash web, where it's hidden but can be "undeleted" with system administrator access.

Click [More] on the control bar at the bottom of the page you want to change, then choose [Rename/move], and make your changes to that screen. There's a link that launches to the ManagingTopics reference page in a pop-up window.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for site administrators: To remove a topic permanently move it to the Trash web, then with file-level access, delete the .txt and .txt,v files manually from /twiki/data/Trash.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

FAQ:

How do I delete or rename a file attachment?

Answer:

You can move and delete attachments directly from your browser. Moving lets you transfer an attachment from one topic to another. The soft delete moves an attachment to the special TrashAttachment topic in the Trash web, where it's hidden but can be "undeleted" with system administrator access. Please note that you cannot rename an attachment in the current TWiki release.

Click on action on the file in the FileAttachment table, then in the Update attachment screen choose [Move attachment], and make your changes to that screen.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for system administrators: To remove an attachment permanently move it to the Trash.TrashAttachment topic, then with file-level access, delete the file attachment and its ,v repository file manually from twiki/pub/Trash/TrashAttachment.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the WebNotify list of the current web of this change.

Note: No new revision is created in case you save the same topic again within a certain time frame (default is one hour). You only need to checkmark the "Minor change, don't notify" checkbox once within this time frame, because subsequent save operations do not notify users.

Note: The initial state of the checkbox can be set to on with the DONTNOTIFYCHECKBOX preferences variable. See TWikiPreferences for more.

Dragon Skin

TWiki:Plugins.DragonSkinDev has development-related information.

Dragon skin (named after the logo on the site it was developed for) is intended to provide a prosaic but relatively organized look-and-feel, while providing easy access to TWiki tools (topic lists, web changes, etc). Some features of this skin:

  • Fairly straightforward installation
  • A number of user customization options
  • Avoids using WEBBGCOLOR as a background for text
  • Themable (Three themes are included)

Browser support

DragonSkin has been tested on IE6, IE5.2/Mac, and fairly recent versions of Firefox, Mozilla, Opera, Safari, Camino, and Netscape, and appears to work on those browsers (Firefox and IE6 have been used the most). It has not been tested at all on IE5/Win, and may have display problems with that browser. Netscape 4.x should see the skin without any CSS formatting.

Screen Shots

The screen shot below is of the "tabstyle" theme. The "gray" theme has a rather drab solid gray left menu. The "monchrome" theme has a solid white left menu with a few other minor changes.

Click for full screen image

Topics included with the Dragon skin distribution

DragonSkinInstall
Installation instructions and administrator customization tips
DragonSkinCustomize
How users of the skin can customize various look and feel aspects.
DragonSkinSiteMap
A minor reworking of the classic TWiki site map, with the goal of having it be readable if somebody sets their web's WEBBGCOLOR to dark blue.

Installation

See DragonSkinInstall for detailed installation instructions and administrator customization tips.

Note: You do not need to install anything on the browser to use this skin. The following instructions are for the administrator who installs the skin on the server where TWiki is running.

  • Download the ZIP file from the Skin Home page (see below)
  • Unzip DragonSkin.zip in your twiki installation directory
  • Test if installed: /view/TWiki/DragonSkin?skin=dragon (note: see the instructions in DragonSkinInstall, first)
  • For skin activation see TWikiSkins

Skin Info

Description: Prosaic but relatively organized look-and-feel, while providing easy access to TWiki tools
Screenshot: Click for full screen image
Base Name: dragon
Skin Author: TWiki:Main/ClaussStrauch
Skin Version: 27 Jul 2004 (v1.000)
Change History:  
27 Jul 2004: Initial version (v1.000)
Dependencies:  
Skin Home: http://TWiki.org/cgi-bin/view/Plugins/DragonSkin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DragonSkinDev

Note: The Description, Screenshot and Base Name rows are needed by the TWikiSkinBrowser

Related topic: TWikiSkins, TWikiSkinBrowser

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

DragonSkin customization

This topic contains information on how to change user-configurable look-and-feel aspects of Dragonskin. See DragonSkinInstall for installation instructions, and DragonSkin for some general information about the skin.

TWiki variables used by DragonSkin

The following TWikiVariables are specific to DragonSkin and control various look and feel aspects of the skin:

DS_BODYFONTSIZE
CSS font size for the overall body of the page.
DS_LEFTMENUFONTSIZE
CSS font size for the left menu (relative size values will compound with the body font size).
DS_EDITBARFONTSIZE
CSS font size for the edit/attach/etc menubar on the top of each view page (relative size values will compound with the body font size).
DS_FONTFAMILY
CSS font family. Applies to all pages.
DS_QUICKLINKSDISPLAY
Set this variable to "none" to turn off display of the quicklinks menu.
DS_QUICKLINKSHEADING
String to use for the quicklinks submenu heading.
DS_QUICKLINKS
HTML unordered list containing the quicklinks menu items.
DS_TOPICCSS
CSS statements that will get embedded in every view page (meant for adding short bits of style to a specific topic). These CSS statements are only included in view pages, not in edit, preview or oops pages. See the section below on "Recovering from a bad DS_TOPICCSS setting" for reasons why. Surround a topic-specific CSS setting with HTML comments to hide the CSS statements. Set the variable to a blank value on your wiki home page to disable seeing custom css styles.
DS_THEME
Lets one chose between various look and feels. Supported themes at this time are "gray" (the default), "monochrome", and "tabstyle".

You can test out settings on one page (such as a Sandbox page) using variables set within that topic.

The colored bands on the top and bottom of each page is set via the standard TWiki WEBBGCOLOR variable. This is usually set on a per-web basis, in order to provide a consistent indication of which web a page is in.

Built-in CSS styles

The following CSS styles are included with Dragonskin as a convenience. Your local administrator may add additional classes:
ds-draft
Text within a div of class ds-draft will be displayed with a tiled background containing light gray images with the word "DRAFT".
ds-kbd
Text within a div of class ds-kbd will be displayed in monospaced type w/in an indented light-gray box.
ds-note
Text within a div of class ds-note will be displayed as a yellow "Post-it" style note on the right-side of the page.

To use these classes, enclose your text in a div of that class. For example:
<div class="ds-note">

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

DragonSkin installation

This topic describes how to install DragonSkin and perform some simple administrator-level (i.e. requiring the editing of template and CSS files) customizations. See the DragonSkinCustomize topic for information on doing user-configurable customizations, such as configuring the left quicklinks submenu, and the DragonSkin topic for some general information about the skin.

Basic install

  1. Unzip dragonskin.zip into your twiki installation directory.
  2. Set these variables to activate the skin:
    • Set SKIN = dragon
    • Set DS_THEME = gray (or select another theme such as "monochrome" or "tabstyle").
  3. In your templates directory, edit the file dragonmenu.dragon.tmpl to configure the left menu (see below if you wish to read this menu from a topic). When editing this file, keep the basic div and class structure. H2 tags are used for menu headings; HTML unordered lists are used for menus.
  4. Set the contents of the DS_QUICKLINKS submenu. Instructions on how to do so (or hide this submenu entirely) are in DragonSkinCustomize.
  5. Do any other customizations (fonts, etc) as per DragonSkinCustomize.
  6. (Optional) If you are still using the default TWiki robot logo, the skin will look much better if you change it to something else, such as twikiRobot121x54.gif from TWiki:Codev.TWikiLogosDropInReplacementsWhite.
  7. (Optional) Replace the default TWiki site map with DragonSkinSiteMap.

Browser issues

DragonSkin has been tested on IE6, Firefox, IE5.2/Mac, and fairly recent versions of Firefox, Mozilla, Opera, Safari, Camino, and Netscape, and appears to work on those browsers (Firefox and IE6 have been used the most). It has not been tested at all on IE5/Win, and may have display problems with that browser. Netscape 4.x should see the skin without any CSS formatting.

Customizing the installation

Note: When creating DragonSkin-related CSS classes or TWiki variables, use a prefix of ds- for CSS classes (e.g. ds-myclass) and DS_ for TWiki variables (e.g. DS_MYVARIABLE). This will help prevent namespace confusion.

Including the left menu from a topic

  1. Create a topic with the menu contents. When doing so, be careful about including blank lines in the menu, since the TWiki renderer will insert paragraph tags and mess up the layout. Also, use %INCLUDINGWEB% when necessary to make sure that searches and links to topics like WebPreferences will reference the right web. Note that including the menu from a topic will be slightly slower than using it directly from the template file.
  2. Change the templates/dragonmenu.dragon.css file to just have the single line %INCLUDE{"TWiki.DragonMenuTopic"}% (or whatever your menu topic is called).

Adding site-specific CSS styles

If you want to add a site-specific CSS style, add it to pub/%TWIKIWEB%/DragonSkin/typography.css, since that file is included in every theme. Alternatively, add another import rule to the definition of dragoncss in templates/twiki.dragon.tmpl that imports a site-specific css file, and put all local styles in that file. If your style makes use of TWiki variables, add it to templates/dragoncssvars.dragon.tmpl, so variables will get expanded.

-- TWiki:Main.ClaussStrauch - 27 Jul 2004

TWiki Site Map

Web TWiki Site Map Use to...
Main
 Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web
The Main web is dedicated to the maintenance of this website. This is the place to discuss meta-issues such as what style to use, how best to organize a survey, what the ideal topic size is, how to refer to papers, what the preferred layout of the site should be, etc. ...
TWiki
 Home of TWiki web Search TWiki web Recent changes in the TWiki web Get notified of changes to the TWiki web
Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs... ...discover TWiki details, and how to start your own site.
Gmt
 Home of Gmt web Search Gmt web Recent changes in the Gmt web Get notified of changes to the Gmt web
Generative Model Transformer
Gpce
 Home of Gpce web Search Gpce web Recent changes in the Gpce web Get notified of changes to the Gpce web
Octave
 Home of Octave web Search Octave web Recent changes in the Octave web Get notified of changes to the Octave web
The Stratego web is the home of Stratego, a language for program transformation based on the paradigm of rewriting strategies. The aim of this language is to provide an expressive and declarative language for expressing all kinds of program transformations. The web includes publications on Stratego, download of the StrategoCompiler, documentation, and descriptions of applications. ...
Sandbox
 Home of Sandbox web Search Sandbox web Recent changes in the Sandbox web Get notified of changes to the Sandbox web
Sandbox test area with all features enabled. ...experiment in an unrestricted hands-on web.
Sdf
 Home of Sdf web Search Sdf web Recent changes in the Sdf web Get notified of changes to the Sdf web
The Sdf web is dedicated to the modular syntax definition formalism SDF. Here you can find implementations, pointers to download pages, syntax definitions for common languages, discussions about new features and implementatios of SDF, and tips and tricks for using the formalism. ...
SdfBackup
 Home of SdfBackup web Search SdfBackup web Recent changes in the SdfBackup web Get notified of changes to the SdfBackup web
The Sdf web is dedicated to the modular syntax definition formalism SDF. Here you can find implementations, pointers to download pages, syntax definitions for common languages, discussions about new features and implementatios of SDF, and tips and tricks for using the formalism. ...
Stratego
 Home of Stratego web Search Stratego web Recent changes in the Stratego web Get notified of changes to the Stratego web
The Stratego web is the home of Stratego, a language for program transformation based on the paradigm of rewriting strategies. The aim of this language is to provide an expressive and declarative language for expressing all kinds of program transformations. The web includes publications on Stratego, download of the StrategoCompiler, documentation, and descriptions of applications. ...
Sts
 Home of Sts web Search Sts web Recent changes in the Sts web Get notified of changes to the Sts web
The Sofware Transformation Systems wiki
Tiger
 Home of Tiger web Search Tiger web Recent changes in the Tiger web Get notified of changes to the Tiger web
Home of the Tiger in Stratego project, which is concerned with the exploration of transformation techniques in compilation using an implementation of a Tiger compiler. ...
Tools
 Home of Tools web Search Tools web Recent changes in the Tools web Get notified of changes to the Tools web
The Tools web is the home of the XT? bundle of program transformation tools. XT is an open framework for program transformation based on the ATerm format for exchange of programs between tools. The bundle includes packages for parsing, pretty-printing, term rewriting, and grammar recovery. It also contains a distribution of the SDF2? GrammarBase?. The OnlinePackageBase is an open collection of packages for program transformation supporting package bundling on demand. ...
Transform
 Home of Transform web Search Transform web Recent changes in the Transform web Get notified of changes to the Transform web
The Transform web is an attempt to get an overview of program transformation research and application. In the first place the web is a collection of resources such as pointers to researchers, conferences, journals, summaries and reviews of papers, and tools for implementing transformation systems. In the second place the Transform web attempts to bring structure in the world of program transformation by means of categories, taxonomies such as the TransformationTaxonomy, and entry points such as the ReengineeringWiki and the DeCompilation page. ...
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact webmaster@strategoxt.org if you need a separate collaboration web for your team.

Legend of icons:

 

Home of web = Go to the home of the web
Search web = Search the web

 

Recent changes in the web = See recent changes in the web
Get notified of changes to the web = Subscribe to get notified of changes by e-mail

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

FAQ:

Why does the topic revision not increase when I edit a topic?

Answer:

The same topic revision will be used when you save a topic again within a certain time frame (one hour by default). This is to prevent unnecessary topic revisions when you do several edit cycles in a row. Note that a new revision is created if another person edits the same topic, regardless of the time.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

Edit Table Plugin

This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an [ Edit table ] button if preceeded by an %EDITTABLE{...}% variable. Each column can be a text field, a drop down box, a date field, etc. Multiple tables per topic are editable, but only one at a time can be edited.

Per Table Settings

Add a %EDITTABLE{...}% variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table. Parameters:

Parameter Comment Default
header Specify the header format of a new table like "|*Food*|*Drink*|". Useful to start a table with only a button (no header)
format The format of one column when editing the table. A cell can be a text input field, or any of these edit field types:
- Text input field (1 line):
  | text, <size>, <initial value> |
- Textarea input field:
  | textarea, <rows>x<columns>, <initial value> |
- Drop down box:
  | select, <size>, <option 1>, <option 2>, etc |
- Fixed label:
  | label, 0, <label text> |
- Row number:
  | row, <offset> |
- Date:
  | date, <size>, <initial value>, <DHTML date format> |
"text, 16"
for all cells
changerows Rows can be added and removed if "on";
Rows can be added but not removed if "add"
CHANGEROWS
Plugin setting
quietsave Quiet Save button is shown if "on", hidden if "off" QUIETSAVE
Plugin setting
include Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place. (none)
helptopic Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown. (no help text)
headerislabel Table header cells are read-only (labels) if "on"; header cells can be edited if "off" or "0" "on"
editbutton Set edit button text, e.g. "Edit this table"; set button image with alt text, e.g. "Edit table, %PUBURL%/%TWIKIWEB%/TWikiDocGraphics/edittopic.gif"; hide edit button at the end of the table with "hide" (Note: Button is automatically hidden if an edit button is present in a cell) EDITBUTTON
Plugin setting

Initial Values

By default, variables in <initial value> (of text input field) and <label text> (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters if you do not want that:

Text: To Escape:
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)
$nop or $nop() Is a "no operation"

Date Field Type

Edit Table Calendar Example The date field type allows one to choose a date with a popup calendar. Popup calendar works for Netscape 6.0 or better, all other Gecko-based browsers, Internet Explorer 5.0 or better for Windows, Opera 7 and Konqueror 3.1.2. The ... button is inactive if the browser cannot support the popup calendar. It uses the nice Mishoo DHTML calendar, see also TWiki:Codev/JavaScriptDatePickerForForm

Per Cell Settings

An individual edit field type can be defined for each table cell. Place an %EDITCELL{ "type, ..." }% variable at the end of the cell content. This is useful to override the per column %EDITTABLE{ format="..." }% settings, or to create tables with key/value rows. All edit field types of the format="..." parameter are supported. For example, to define a text field, type: | cell content %EDITCELL{ "text, 20" }% |

It is also possible to place the edit button inside a cell instead of default location below the table. Type | %EDITCELL{ "editbutton, 1, Edit this table" }% | to show a button, or | %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% | to show a button image with alternate text.

Note: The %EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }% variables.

Table Buttons

  • In page view mode:
    • - turn the table into edit mode
  • In edit mode:
    • - save your changes
    • - save your changes without alerting subscribed WebNotify users
    • - add row to the table (if enabled)
    • - remove last row from the table (if enabled)
    • - cancel without saving and release edit lock

Examples

Line before table: %EDITTABLE{ header="|*Nr*|*Text field sandbox*|*Drop down sandbox*|*Timestamp*|" format="| row, -1 | text, 20, init | select, 1, one, two, three, four | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%

Nr Text field sandbox Drop down sandbox Timestamp
1 hello table one 26 Jun 2002 12:30
2   two 27 Jun 2002 12:40

Note: Please use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin

If this plugin is installed you will see an [ Edit table ] button above; if you were to click on it (please don't, use TWiki:Sandbox.EditTablePluginTesting for testing) you get this form:

Nr Text field sandbox Drop down sandbox Timestamp
1 26 Jun 2002 12:30
2 27 Jun 2002 12:40
(demo only, these buttons do not work)

The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.

You type:
%EDITTABLE{ format="| label | text, 40 |" }%
|*Key*|*Value*|
| Name: | John Smith |
| Gender: | M %EDITCELL{select, 1, , F, M}% |
| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
| City: | New York |
Screenshot: EDITCELL Example in view mode Screenshot in edit mode: EDITCELL Example in edit mode

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %EDITTABLEPLUGIN_SHORTDESCRIPTION%

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Edit TWiki tables using edit fields, date pickers and drop down boxes

  • Set DEBUG to 1 to get debug messages in data/debug.txt. Default: 0
    • Set DEBUG = 0

  • Default for change rows flag: on, off, add
    • Set CHANGEROWS = on

  • Default flag for quiet save option: on to show the Quiet Save button, off to hide
    • Set QUIETSAVE = on

  • Default edit button: Specify button text, or specify alternate text, image URL
    • #Set EDITBUTTON = Edit table
    • Set EDITBUTTON = Edit this table, /pub/TWiki/EditTablePlugin/edittable.gif

  • Language of DHTML calendar, pointing to attached calendar-<code>.js language file: en, af, br, ca, cs-win, da, de, du, el, es, fr, hr, hr-utf8, hu, it, jp, nl, no, pl, pt, ro, ru, sk, sp, sv, tr, zh
    • Set JSCALENDARLANGUAGE = en

  • Additional options of DHTML calendar:
    • Set JSCALENDAROPTIONS =

Note: The Plugin looks for the JSCALENDAR* settings first in the TWiki Preferences, then in above Plugin settings

Limitations and Known Issues

  • This Plugin does not support TWiki table formatting like Multi-span cells (e.g. | ... ||) and cell justification (e.g. |  centered  |   right |)
  • There is a performance issue when editing a large table, say, with more then 50 rows
  • Variables like %ATTACHURL% get expanded unless they are in a label
  • You cannot put two %EDITTABLE{}% statements on the same line in the source
  • You can include %-vars now in select values, by quoting them with <nop>, as in %<nop>X% for %X%, say for instance:
    select,1,%<nop>X%,%<nop>Y%

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this Plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip EditTablePlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/EditTablePlugin.txt Plugin topic
    data/TWiki/EditTablePlugin.txt,v Plugin topic repository
    lib/TWiki/Plugins/EditTablePlugin.pm Plugin Perl module
    pub/TWiki/EditTablePlugin/edittable.gif Edit table button image
    pub/TWiki/EditTablePlugin/*.gif Screenshots and Mishoo DHTML calendar images
    pub/TWiki/EditTablePlugin/README Mishoo DHTML calendar README
    pub/TWiki/EditTablePlugin/release-notes.html Mishoo DHTML calendar release notes
    pub/TWiki/EditTablePlugin/*.js Mishoo DHTML calendar JavaScript files
    pub/TWiki/EditTablePlugin/calendar-system.css Mishoo DHTML calendar stylesheet
  • The Plugin depends on the viewauth script to authenticate the user. As described in TWikiAccessControl, copy the view script to viewauth (or better, create a symbolic link) and add viewauth to the list of authenticated scripts in the .htaccess file.
  • The Mishoo DHTML calendar 0.9.5 is preinstalled and should work without any configuration. If you wish to use another language, specify the in the Plugin settings, or create a new language files, attach it to the Plugin topic, and change the Plugin settings
  • Test if the Plugin is correctly installed:
    • Check above example if there is an [ Edit table ] button below the table in above example
    • Click on [ Edit table ], make changes and save the table

License

  • The Edit Table Plugin is released under the GPL
  • The Mishoo DHTML calendar bundled with this Plugin was created by Mihai Bazon and is released under the LGPL -- thanks Mihai for the great tool :-)

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 01 Aug 2004
Change History:  
01 Aug 2004: Fixed bug where edittable did not work if at the end of a topic
07 Apr 2004: Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables
02 Mar 2004: Default for %EDITCELL{editbutton}% is EDITBUTTON preference
27 Feb 2004: Added QUIETSAVE setting and quietsave parameter; image for Edit button
18 Feb 2004: Doc fixes; allow edit button anywhere in a cell not just at the end of a cell
17 Feb 2004: Added per cell definition of edit field types with %EDITCELL{}% variable; added headerislabel and editbutton parameters
20 Dec 2003: Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5
13 Dec 2003: Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings
16 Oct 2003: small typo fixed (garbled if ---+ header on top)
15 Oct 2003: new date field type with javascript calendar - CN
14 Oct 2003: docfix: the documentation page was an old one - CN
13 Oct 2003: bugfix: %-vars in select were resetted to first on add/del row - CN
18 Sep 2003: incompatibility: changed default of changerows to on; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN
08 Nov 2002: Prevent variable expansion in label text; added escape characters
27 Jun 2002: New helptopic parameter
26 Jun 2002: Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells
21 May 2002: Added fixed label format; new changerows="add" parameter
27 Apr 2002: Fixed bug where text after a double quote in a cell disappeared
18 Apr 2002: Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix
08 Apr 2002: Check for change permission and edit lock of topic
05 Apr 2002: Initial version
CPAN Dependencies: none
Other Dependencies: Mishoo DHTML calendar (version 0.9.5 preinstalled); TWiki version 01 Feb 2003 or later
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 98%, FormattedSearch 98%, EditTablePlugin 95%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EditTablePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EditTablePluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/PeterThoeny - 01 Aug 2004

Empty TWiki Plugin

This is an empty plugin you can use as a template to build your own TWikiPlugins. This plugin does nothing, but is ready to be used.

To create your own plugin:

  • Copy file TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm and customize the plugin.
  • Create a <name>Plugin topic in the TWiki web. Do so by visiting http://TWiki.org/cgi-bin/view/Plugins/ and starting a new topic to get the default plugin topic text (don't save the topic). Customize your plugin topic to your needs.
  • See details in TWikiPlugins.

Syntax Rules

(none)

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %EMPTYPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = This plugin does nothing, but can be used as a template for your own plugins.

  • Your own setting, i.e.:
    • Set EXAMPLE = got it!

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

  • This plugin is preinstalled, you do not need to install it.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2003
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 99%, FormattedSearch 99%, EmptyPlugin 99%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EmptyPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EmptyPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, DefaultPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

(just an example illustrating how to create a new topic based on a specific template topic. TWikiTemplates has more)

-- TWikiGuest - 24 Jul 2020

File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

  • You can use Attachments to store and retrieve documents (in any format, with associated graphics, and other media files); attach documents to specific TWiki topics; collaborate on documents with full revision control; distribute documents on a need-to-know basis using web and topic-level access control; create a central reference library that's easy to share with an user group spread around the world.

File Sharing

  • For file sharing, FileAttachments on a series of topics can be used to quickly create a well-documented, categorized digital download center for all types of files: documents; graphics and other media; drivers and patches; applications; anything you can safely upload!

Web Authoring

  • Through your Web browser, you can easily upload graphics (or sound files, or anything else you want to link to on a page) and place them on a single page, or use them across a web, or site-wide.
    • NOTE: You can also add graphics - any files - directly, typically by FTP upload. This requires FTP access, and may be more convenient if you have a large number of files to load. FTP-ed files can't be managed using browser-based Attachment controls. You can use your browser to create TWikiVariables shortcuts, like this %H% = HELP.

Uploading Files

  • Click on the Attach link at the bottom of the page. The Attach screen lets you browse for a file, add a comment, and upload it. The uploaded file will show up in the File Attachment table.
    • NOTE: The topic must already exist. It is a two step process if you want to attach a file to a non-existing topic; first create the topic, then add the file attachment.
    • Any type of file can be uploaded. Some files that might pose a security risk are renamed, ex: *.php files are renamed to *.php.txt so that no one can place code that would be read in a .php file.
    • The previous upload path is retained for convenience. In case you make some changes to the local file and want to upload it, again you can copy the previous upload path into the Local file field.
    • TWiki can limit the file size. This is defined by the %ATTACHFILESIZELIMIT% variable of the TWikiPreferences, currently set at 100000 KB.
      • ALERT! It's not recommended to upload files greater than a few hundred K through a browser. Large files can be extremely slow-loading, and often time out. Use an FTP site for large file uploads.

Downloading Files

  • ALERT! NOTE: There is no access control on individual attachments. If you need control over single files, create a separate topic per file and set topic-level access restrictions for each.

Moving Attachment Files

An attachment can be moved between topics.

  • Click Manage on the Attachment to be moved.
  • On the control screen, select the new web and/or topic.
  • Click Move. The attachment and its version history are moved. The original location is stored as topic Meta Data.

Deleting Attachments

Move unwanted Attachments to web Trash, topic TrashAttachment.

Linking to Attached Files

  • Once a file is attached it can be referenced in the topic. Example:
    1. Attach file: Sample.txt
    2. Edit topic and enter: %ATTACHURL%/Sample.txt
    3. Preview: %ATTACHURL%/Sample.txt text appears as: /pub/TWiki/FileAttachment/Sample.txt, a link to the text file.

  • To reference an attachment located in another topic, enter:
    • %PUBURL%/%WEB%/OtherTopic/Sample.txt (if it's within the same web)
    • %PUBURL%/Otherweb/OtherTopic/Sample.txt (if it's in a different web)

  • Attached HTML files and text files can be inlined in a topic. Example:
    1. Attach file: Sample.txt
    2. Edit topic and write text: %INCLUDE{"%ATTACHURL%/Sample.txt"}%

  • GIF, JPG and PNG images can be attached and shown embedded in a topic. Example:
    1. Attach file: Smile.gif
    2. Edit topic and write text: %ATTACHURL%/Smile.gif
    3. Preview: text appears as /pub/TWiki/FileAttachment/Smile.gif, an image.

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment Action Size Date Who Comment
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on a Manage link takes you to a new page that looks like this:

Attachment Action Size Date Who Comment Attribute
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version Action Date Who Comment
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

  • The first table is a list of all attachments, including their attributes. An h means the attachment is hidden, it isn't listed when viewing a topic.

  • The second table is all the versions of the attachment. Click on View to see that version. If it's the most recent version, you'll be taken to an URL that always displays the latest version, which is usually what you want.
    • To change the comment on an attachment, enter a new comment and then click Change properties. Note that the comment listed against the specific version will not change, however the comment displayed when viewing the topic does change.
    • To hide/unhide an attachment, enable the Hide file checkbox, then click Change properties.

Known Issues

  • Unlike topics, attachments are not locked during editing. As a workaround, you can change the comment to indicate an attachment file is being worked on - the comment on the specific version isn't lost, it's there when you list all versions of the attachment.

Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is considered to be hidden. It is not listed in the topic, but is displayed when attach page is displayed.

-- TWiki:Main.JohnTalintyre - 30 Aug 2001

TWiki Formatted Search Results

Inline search feature allows flexible formatting of search result

The %SEARCH{...}% variable documented in TWikiVariables has a fixed format for the search result, that is, a table consisting of topic names and topic summaries. Use the format="..." parameter to specify a customized format of the search result. The string of the format parameter is typically a bullet list or table row containing variables (such as %SEARCH{ "food" format="| $topic | $summary |" }%).

Syntax

Two parameters can be used to specify a customized search result:

1. header="..." parameter

Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"

2. format="..." parameter

Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"

Variables that can be used in the format string:

Name: Expands To:
$web Name of the web
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$parent Name of parent topic; empty if not set
$parent(20) Name of parent topic, same hyphenation/shortening like $topic()
$text Formatted topic text. In case of a multiple="on" search, it is the line found for each search hit.
$locked LOCKED flag (if any)
$date Time stamp of last topic update, e.g. 24 Jul 2020 - 11:43
$isodate Time stamp of last topic update, e.g. 2020-07-24T11:43Z
$rev Number of last topic revision, e.g. 1.4
$username Login name of last topic update, e.g. jsmith
$wikiname Wiki user name of last topic update, e.g. JohnSmith
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
$createdate Time stamp of topic revision 1.1
$createusername Login name of topic revision 1.1, e.g. jsmith
$createwikiname Wiki user name of topic revision 1.1, e.g. JohnSmith
$createwikiusername Wiki user name of topic revision 1.1, e.g. Main.JohnSmith
$summary Topic summary
$formname The name of the form attached to the topic; empty if none
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
$pattern(reg-exp) A regular expression pattern to extract some text from a topic (does not search meta data; use $formfield instead). In case of a multiple="on" search, the pattern is applied to the line found in each search hit.
• Specify a RegularExpression that covers the whole text (topic or line), which typically starts with .*, and must end in .*
• Put text you want to keep in parenthesis, like $pattern(.*?(from here.*?to here).*)
• Example: $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ...
• This example has non-greedy .*? patterns to scan for the first occurance of the Email bullet; use greedy .* patterns to scan for the last occurance
• Limitation: Do not use .*) inside the pattern, e.g. $pattern(.*foo(.*)bar.*) does not work, but $pattern(.*foo(.*?)bar.*) does
• Note: Make sure that the integrity of a web page is not compromised; for example, if you include an HTML table make sure to include everything including the table end tag
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

Examples

Bullet list showing topic name and summary

Write this:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%

To get this:

  • Topic: Summary:
  • TWikiFAQ: Frequently Asked Questions About TWiki This is a real FAQ, and also a demo of one easily implemented knowledge base solution. See how it's done, click Edit . SEARCH ...
  • TWikiFaqTemplate: FAQ: Answer: Back to: NOP TWikiFAQ WIKIUSERNAME DATE
  • TextFormattingFAQ: Text Formatting FAQ The most frequently asked questions about text formatting are answered. Also, TextFormattingRules contains the complete TWiki shorthand system ...

Table showing form field values of topics with a form

In a web where there is a form that contains a TopicClassification field, an OperatingSystem field and an OsVersion field we could write:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

To get this:

Topic: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extract some text from a topic using regular expression

Write this:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

To get this:

TWiki FAQs:

  • How do I delete or rename a topic? Answer...
  • How do I delete or rename a file attachment? Answer...
  • Why does the topic revision not increase when I edit a topic? Answer...
  • TWiki has a GPL (GNU General Public License). What is GPL? Answer...
  • How do you log off? Suppose I log in with the guest username but later I want to use another username, how do I log off from the guest user name? Answer...
  • I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem. Answer...
  • What happens if two of us try to edit the same topic simultaneously? Answer...
  • I would like to install TWiki on my server. Can I get the source? Answer...
  • So what is this WikiWiki thing exactly? Answer...
  • Everybody can edit any page, this is scary. Doesn't that lead to chaos? Answer...

Nested Search

Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.

Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).

  • First search:
    • %SEARCH{ "culture" format="   * $topic is referenced by: (list all references)" nosearch="on" nototal="on" }%
  • Second search. For each hit we want this search:
    • %SEARCH{ "(topic found in first search)" format="$topic" nosearch="on" nototal="on" separator=", " }%
  • Now let's nest the two. We need to escape the second search, e.g. the first search will build a valid second search string. Note that we escape the second search so that it does not get evaluated prematurely by the first search:
    • Use $percnt to escape the leading percent of the second search
    • Use \" to escape the double quotes
    • Use $dollar to escape the $ of $topic
    • Use $nop to escape the }% sequence

Write this:

%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" nosearch="on" nototal="on" }%

To get this:

Note: Nested search can be slow, especially if you nest more then 3 times. Nesting is limited to 16 levels. For each new nesting level you need to "escape the escapes", e.g. write $dollarpercntSEARCH{ for level three, $dollardollarpercntSEARCH{ for level four, etc.

Most recently changed pages

Write this:

%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%

To get this:

WebStatistics TWikiGuest 18 Oct 2016 - 16:57
CustomWebMenus EelcoVisser 25 Apr 2005 - 19:37
CustomSiteMenus MartinBravenboer 04 Dec 2004 - 17:12
AppendixFileSystem PeterThoeny 30 Aug 2004 - 07:14
AccessKeys PeterThoeny 28 Aug 2004 - 05:53
ATasteOfTWiki PeterThoeny 22 Aug 2004 - 21:49
AdminTools PeterThoeny 15 Aug 2004 - 06:58

Search with conditional output

A regular expression search is flexible, but there are limitations. For example, you cannot show all topics that are up to exactly one week old, or create a report that shows all records with invalid form fields or fields within a certain range, etc. You need some additional logic to format output based on a condition:

  1. Specify a search which returns more hits then you need
  2. For each search hit apply a spreadsheet formula to determine if the hit is needed
  3. If needed, format and output the result
  4. Else supress the search hit

This requires the TWiki:Plugins.SpreadSheetPlugin. The following example shows all topics that are up to exactly one week old.

Write this:

%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%
%SEARCH{ "." scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%

  • The first line sets the weekold variable to the serialized date of exactly one week ago
  • The SEARCH has a deferred CALC. The $percnt makes sure that the CALC gets executed once for each search hit
  • The CALC compares the date of the topic with the weekold date
  • If topic is older, a <nop> is returned, which gets removed at the end of the TWiki rendering process
  • Otherwise, the search hit is formatted and returned

To get this:

Embedding search forms to return a formatted result

Use an HTML form and an embedded formatted search on the same topic. You can link them together with an %URLPARAM{"..."}% variable. Example:

Write this:

<form action="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/TWiki/FormattedSearch">
Find Topics: 
<input type="text" name="q" size="32" value="%URLPARAM{"q"}%" />
<input type="submit" value="Search" />
</form>
Result:
%SEARCH{ search="%URLPARAM{"q"}%" format="   * $web.$topic: %BR% $summary" nosearch="on" }%

To get this:

Find Topics:
Result: Number of topics: 0

-- TWiki:Main.PeterThoeny - 26 Jul 2004

FAQ:

TWiki has a GPL (GNU General Public License). What is GPL?

Answer:

TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of the free software licenses that protects the copyright holder, and at the same time allows users to redistribute the software under the terms of the license. Extract:

  • This program is open source software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
  • This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • See the GNU General Public License for more details, published at http://www.gnu.org/copyleft/gpl.html

Please note that TWiki is not distributed under the LGPL (Lesser General Public Licence), which implies TWiki can only be used with software that is licensed under conditions compliant with the GPL. Embedding in proprietary software requires an alternative license. Contact the author for details.

Back to: TWikiFAQ

-- TWiki:Main.PeterThoeny - 27 Nov 2000

Go Box

The box at the top or sidebar of each page.

Enter a topic name to quickly jump to the topic, for example:

  • WebNotify to jump to WebNotify in the current web
  • Main.WebNotify to jump to WebNotify in the Main web